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.js
export.fs = fs
module.exports = fs
//引用 b.js
const module = require('module')
区别:
import:引用,静态编译,代码在编译时就就加载,所以放在最上面 require:拷贝,运行时调用
3.export和module.export
1.export指向module.exports,返回的是模块函数 2.module.export返回的模块对象本身,是一个类,