美文网首页
ES6 - Module

ES6 - Module

作者: 恒星的背影 | 来源:发表于2019-01-12 20:42 被阅读0次

chrome 已经支持 module,需要注意 script 标签需要加上 type="module"

<script type="module" src="2.js"></script>

export

使用示例:

export var firstName = 'Michael';

export function multiply(x, y) {
  return x * y;
};

export { last, year };

错误写法:

var m = 1;
export m;

import

示例代码:
import {firstName, lastName, year} from './profile.js';
import 'lodash';
只是将其内部的代码执行一遍,上面的例子也会执行module内部的代码。
module 内部定义的变量不会暴露出来。

模块整体加载:import * as circle from './circle';

export default

使用:

export default function() {
  console.log('lala')
}

import fn from './1.js'

一个module中只能有一个 export default。
如果将module整体加载,export default 的内容也是其中一项,key 是 default

和直接export不同之处:

正确:
var a = 1
export default a

错误:
export default var a = 1;

总结:export 后面需要声明性质的东西,export default 后面需要具体的值

export 与 import 的复合写法

import { foo, bar } from 'my_module';
export { foo, bar };
可以写成:
export { foo, bar } from 'my_module';

注意,这样写以后,foo 和 bar 不能在当前的 module 使用

其它例子:

export { foo as myFoo } from 'my_module';
export * from 'my_module';
export { default } from 'foo';

import()

待补充

一些提示

import 引入的变量都是常量。
如果一个HTML文件引用了两个JS文件,这两个JS文件都引用了同一个module,前者对引用到的变量的修改会影响到后者读取到的内容(如果引用的变量是对象,可以修改其属性)。

相关文章

  • 前端模块化:ES6,CommonJS

    前端模块化 共有四种规范 ES6 Module CommonJS AMD CMD ES6 Module ES6模块...

  • 模块(一) CommonJs,AMD, CMD, UMD

    系列文章导航 模块(二) es6 module typescript module 本文参考Javascript模...

  • js之模块化(3)

    随着ES6 Module的出现,我们在项目中也大概率的采用了ES6 Module的写法,主要是采用import 和...

  • ES6语法

    ES6 Module 在 ES6 Module出现之前,有3种模块化方案 AMD 浏览器端 CMD 服务器端 Co...

  • 2020-04-22

    分类: es6: import / exportcommonjs: require / module.export...

  • CommonJs模块规范中module.exports和expo

    之前简单总结过ES6中的export/import模块规范(ES6中的export/import module 基...

  • 学习webpack【第三章-核心概念2】

    一、Hot Module Replacement 热模块替换 二、使用babel处理ES6 ———————————...

  • 2020-04-16

    #ES6中的两个导出 1、export页面引用时候imprt {module1,module2} from 'xx...

  • webpack-02

    解析ES6和ReactJSX 解析ES6使用的是babel-loader,我们首先需要做在module的rules...

  • BigNumber 讲解

    安装 Browser: Node.js: ES6 module (bignumber.mjs): AMD load...

网友评论

      本文标题:ES6 - Module

      本文链接:https://www.haomeiwen.com/subject/figqdqtx.html