Es6新规范,由java衍生而来
详细的可以去看看教程,这里只说一些简单理解和作用
作用:导入外部的代码模块,默认代码自动采用严格模式
1.import 写法
//单个接口export var name="张三" //b.js,写法import name from b.js//a.js 引用//多个接口 (推荐)var name="张三"export {name} //b.js,写法import {name} from b.js//a.js 引用//带别名var name="张三"//b.js,写法export {name}import {name as myName} from b.js//a.js 引用//插入整个模块import * as modules from b.js//a.js 引用//导入默认模块export default function myName(){}//b.js,写法import myName from b.js//a.js 引用//动态调用,返回一个promise对象 支持await关键字(这个不懂去看JS中sync)import(b.js).then((module)=>{})
2.require
// 写法 a.jsexport.fs = fsmodule.exports = fs//引用 b.jsconst module = require('module')
区别:
import:引用,静态编译,代码在编译时就就加载,所以放在最上面 require:拷贝,运行时调用
3.export和module.export
1.export指向module.exports,返回的是模块函数 2.module.export返回的模块对象本身,是一个类,
