上QQ阅读APP看书,第一时间看更新
10.3 默认导出
按照前面的方法进行导入时,虽然可以对导入的变量进行重命名,但是需要知道变量在原来模块中导出的名称才可以。既然导入后可以重命名,那么如果可以不用管原来模块中导出的是什么名字,直接在导入时指定一个变量名不就更方便了?ES还真提供了这样的功能!在模块导出的时候可以不指定变量名,只要使用关键字default就可以了,这样在导入的时候就不需要关心导出时的变量名,例如下面的例子。
//worker.js export default function(){ console.log("working..."); } //factory.js import work from "./worker" work(); //working...
这个例子在worker.js中就导出了默认的方法,然后在factory.js中导入为work方法。注意,导入默认变量时不使用花括号,直接写就可以了。如果除了默认变量外还有其他变量,那么可以同时使用花括号将其他变量导入。另外,本例中导出的是匿名函数,实际上命名函数或者变量也可以默认导出,并且默认导出也可以在定义完之后使用单独的语句进行导出,例如下面的例子。
//worker.js function workerWork(){
console.log("working..."); } export var name = "王进喜"; export default workerWork; //factory.js import work, {name as workerName} from "./worker" work(); //working... console.log(workerName); //王进喜