以为Es6,javascript第一次支持了module。ES6的模块化分为导出(export)与导入(import)两个模块,其中在项目中,我们会经常看到一种用法import * as obj from,这种写法是把所有的输出包裹到obj对象里。
示例一
1 2 3 4 5 6 7
| // index.js
export function fn1 (data ){
console .log(1)
}
export function fn2 (data ){
console .log(2)
} |
1 2 3
| import * as Fn from './index.js'
Fn.fn1() // 1
Fn.fn2() // 2 |
示例二
1 2 3 4 5 6 7 8 9 10
| let myName = "Jon";
let myAge = 18;
let myfn = function(){
return "我是"+myName+"!今年"+myAge+"岁了"
}
export {
myName as name,
myAge as age,
myfn as fn
} |
接收的代码
1 2 3 4
| import {fn ,age ,name } from "./test.js";
console .log(fn ()); //我是Jon!今年19岁了
console .log(age ); //19
console .log(name ); //Jon |
或者写成
1 2 3 4
| import * as info from "./test.js"; //通过*来批量接收,as 来指定接收的名字
console .log(info .fn ()); //我是Jon!今年18岁了
console .log(info .age ); //18
console .log(info .name ); //Jon |
示例三
重命名export和import,如果导入的多个文件中,变量名字相同,即会产生命名冲突的问题,为了解决该问题,ES6为提供了重命名的方法,当你在导入名称时可以这样做。
1 2 3 4 5 6 7 8 9 10
| /*************test1.js*****************/
export let myName = "我来自test1.js";
/*************test2.js*****************/
export let myName = "我来自test2.js";
/*************index.js****************/
import {myName as name1 } from "./test1.js";
import {myName as name2 } from "./test2.js";
console .log(name1 ); //我来自test1.js
console .log(name2 ); //我来自test2.js |
「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」
共 0 条评论关于"浅谈Es6中import * as xxx from几种基本用法"
最新评论