ES6 模块化 关键字export和import
1.ES6中一个模块就是一个包含JS代码的文件,一般来说,模块中所有变量对其他模块不可见,除非我们进行导出。模块系统使用export和import进行模块的导出引入。
2.导出方式
(1) name export
① 两种方式
1) 对于要导出的变量加上export (export const a、export function b)
=====================================
export const sqrt = Math.sqrt;
export function square(x) {
return x * x;
}
=====================================
2) 用列表统一导出 (export {a,b})
=====================================
const sqrt = Math.sqrt;
function square(x) {
return x * x;
}
export {sqrt, square}
=====================================
(2) default export
=====================================
//------ myFunc.js ------
//`没有名字`
export default function() {...};
//------ main.js ------
//`随便命名`
//`注意这里默认导出在导入时不需要用{}。`
import myFunc from 'myFunc';
myFunc();
=====================================
3.重命名export和import
(1) 目的:解决导出命名冲突
(2) 导入重命名
=====================================
// 这两个模块都会导出以`flip`命名的东西。
import {flip as flipOmelet} from "eggs.js";
import {flip as flipHouse} from "real-estate.js";
=====================================
=====================================
import { default as foo } from 'lib';
import foo from 'lib';
=====================================
(3) 导出重命名
=====================================
function v1() { ... }
function v2() { ... }
export {
v1 as streamV1,
v2 as streamV2,
v2 as streamLatestVersion
};
=====================================
=====================================
//------ module1.js ------
export default 123;
//------ module2.js ------
const D = 123;
export { D as default };
=====================================
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。