我怎样才能在Javascript中使用默认导入?

使用ES6模块,我知道我可以别名命名导入

import { foo as bar } from 'my-module'; 

而且我知道我可以导入默认导入

 import defaultMember from 'my-module'; 

我想要别名的默认导入,我曾经认为下面的工作

 import defaultMember as alias from 'my-module'; 

但是这会导致parsing(语法)错误。

我怎么能(或者我可以?)别名默认导入?

defaultMember已经一个别名 – 它不需要是导出的函数/东西的名称。 做就是了

 import alias from 'my-module'; 

或者你可以做

 import {default as alias} from 'my-module'; 

但这是相当深奥的。

首先,每当你引用一个模块的默认导入时,总是最好的。 否则,假定别名是针对模块中的特定variables和/或对象的(而不是默认的)。 因此,仅仅因为这个原因,使用以下内容:

  import default as alias from 'module-source'; //Alternatively, the line below is equivalent: import {default as alias} from 'module-source'; 

我想指出的一个更正是,当导入默认没有别名的时候,它不叫做defaultMember,也不是其他的:default。 而且,只有(导出或导入)一个对象时,大括号是可选的。 因此,如果没有别名,您可以通过以下方式简单地导入默认模块:

  import default from 'module-source'; 

其他注意事项:或者,另一个选项是别名整个模块,然后你可以简单地引用任何导出的对象的属性,我不认为正是你在找什么,但可能是有用的其他人。 一般来说,要使用别名,请按照以下语法:

  import {object-name as alias} from 'module-source'; 

要为整个模块别名,请使用下面的示例,然后将导入的对象作为属性(使用点符号或者首选括弧符号)引用。 例如,假设你导出了一个名为meetsCriteria的函数和一个名为playersOnTeam的variables。

  import * as Alias from 'module-source'; // Imports Whole Module As Alias Alias.meetsCriteria(); // Calls Function As A Method Of Alias Alias.playersOnTeam; // Calls Variable As A Property Of Alias 

注意:以上build议都假定模块导出是通过ES6语法完成的,通过单独使用以下一种方式或使用以下组合: export default statement(s)named exports ,和/或in-line export keyword(s) – 与其相应的variables/函数声明同时进行。 基本上,只有先使用export关键字语法,才能使用import关键字语法。 如果您使用module.exports导出/您的模块,那么您将需要恢复使用require('module-source')语法。 祝你好运!