ES6学习——模块化:import和export
程序员文章站
2023-12-22 19:47:40
...
export default 导出
import A from ‘…/…/…’ 导入
1、export default 向外暴露的成员,可以使用任意变量来接收
2、在一个模块中,export default 只允许向外暴露一次
3、在一个模块中,可以同时使用export default 和export 向外暴露成员
4、使用export向外暴露的成员,只能使用{ }的形式来接收,这种形式,叫做【按需导出】
5、export可以向外暴露多个成员,同时,如果某些成员,在import导入时,不需要,可以不在{ }中定义
6、使用export导出的成员,必须严格按照导出时候的名称,来使用{ }按需接收
7、使用export导出的成员,如果想换个变量名称接收,可以使用as来起别名
导出 对象
/** getAuth.js **/
export default {
async getUserInfo (e) {
let dataParam = e.detail;
return new Promise((resolve,reject) => {
if(dataParam.errMsg == 'getUserInfo:ok'){
// 同意授权
let ivData = {
iv: dataParam.iv,
encryptedData: dataParam.encryptedData
};
authPromise.getToken(ivData);
wx.showToast({ title:'授权成功' });
resolve();
} else {
// 拒绝授权
wx.showToast({ title: '授权失败!',icon:'none' });
reject();
}
});
},
}
/** index.js **/
import getAuth from '../getAuth';
getAuth.getUserInfo(e).then(() => {
......
}).catch(() => {
......
});
导出 匿名函数
export default function () { console.log('foo'); }
// 这是的import命令,可以用任意名称指向export-default.js输出的方法
//需要注意的是,这时import命令后面,不使用大括号。
import customName from './export-default';
customName(); //'foo'
导出 非匿名函数
// export-default.js
export default function foo() { console.log('foo'); }
// 或者写成
function foo() { console.log('foo'); }
export default foo;
//上面代码中,foo函数的函数名foo,在模块外部是无效的。加载的时候,视同匿名函数加载。
export加default和不加的区别
//第一组
export default function func1(){
//...
}
import func1 from '../func'
//第二组
export function func2(){
//...
}
import {func2} from '../func
export default 可以输出 类
//MyClass.js
export default class{...}
//main.js
import MyClass from 'MyClass';
let o = new MyClass();
使用export导出的成员,如果想换个变量名称接收,可以使用as来起别名
import person, {title, content as content1} from './test.js'