Es6新规范,由java衍生而来

详细的可以去看看教程,这里只说一些简单理解和作用

作用:导入外部的代码模块,默认代码自动采用严格模式


1.import 写法

  1. //单个接口
  2. export var name="张三" //b.js,写法
  3. import name from b.js//a.js 引用
  4. //多个接口 (推荐)
  5. var name="张三"
  6. export {name} //b.js,写法
  7. import {name} from b.js//a.js 引用
  8. //带别名
  9. var name="张三"//b.js,写法
  10. export {name}
  11. import {name as myName} from b.js//a.js 引用
  12. //插入整个模块
  13. import * as modules from b.js//a.js 引用
  14. //导入默认模块
  15. export default function myName(){}//b.js,写法
  16. import myName from b.js//a.js 引用
  17. //动态调用,返回一个promise对象 支持await关键字(这个不懂去看JS中sync)
  18. import(b.js).then((module)=>{
  19. })

2.require

  1. // 写法 a.js
  2. export.fs = fs
  3. module.exports = fs
  4. //引用 b.js
  5. const module = require('module')

区别:

import:引用,静态编译,代码在编译时就就加载,所以放在最上面 require:拷贝,运行时调用

3.export和module.export

1.export指向module.exports,返回的是模块函数 2.module.export返回的模块对象本身,是一个类,