es6的模块化

151 阅读1分钟

ceeb653ely8gu3sv5gzxej20rs0rstay.jpg

回顾前端模块化的发展

es6之前:

  • amd规范
  • cmd规范

es6之后:

  • es6模块化
    • 每个 js 文件都是一个独立的模块
    • 导入其它模块使用 import 关键字
    • 向外共享模块使用 export 关键字
  • commonJS规范(nodejs)
    • 导入其它模块使用 require关键字
    • 向外共享模块使用 module.exports关键字

    让nodejs支持ES6模块化

node.js 中默认支持 CommonJS 模块化规范,如果想基于 node.js 体验与学习 ES6 的模块化语法,需要按照如下两个步骤进行配置

  • 确保安装了 v13.0.0 或更高版本的 node.js
  • 在 package.json 的根节点中添加 "type": "module"节点

Snipaste_2022-04-30_20-48-18.png

注意: 配置之后,则只能使用ES6模块化语法,不能再使用CommonJS语法了

默认导入导出

默认导出的语法: export default 默认导出的成员

默认导入的语法: import 接收名称 from '模块路径

Snipaste_2022-04-30_20-49-52.png 注意:

  1. 每个模块中,只允许使用唯一的一次 export default
  2. 默认导入时的接收名称可以任意名称,只要是合法的成员名称即可

按需导入导出

按需导出的语法: export const s1 = 10

按需导入的语法: import { 按需导入的名称 } from '模块路径'

Snipaste_2022-04-30_20-49-52.png

注意:

  1. 每个模块中可以有多次按需导出
  2. 按需导入的成员名称必须和按需导出的名称保持一致
  3. 按需导入时,可以使用 as 关键字进行重命名

默认导出和整体导出一起使用

Snipaste_2022-04-30_20-51-20.png

ceeb653ely8gvtwg5b85tj206o06oaa7.jpg