1、node.js中通过babel体现ES6模块化(浏览器端commonjs不支持ES6的高级特性,所以要下载babel来转化成可兼容的版本) 2、npm install --save-dev @babel/core @babel/cli @babel/preset-env 3、@babel/node 4、npm install --save @babel/polyfill 5、根目录创建配置文件babel.config.js(配置.babelrc也 6、改造代码(详见前端工程化) 7、运行npx babel-node index.js
① 命名冲突 ② 文件依赖 模块化就是把单独的一个功能封装到一个模块(文件)中,模块之间相互隔离,但是可以通过特定的接口公开内部成 员,也可以依赖别的模块 模块化开发的好处:方便代码的重用,从而提升开发效率,并且方便后期的维护
CommonJS 适用于服务器端的 Javascript 模块化
每个 js 文件都是一个独立的模块 导入模块成员使用 import 关键字 暴露模块成员使用 export 关键字
① npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node ② npm install --save @babel/polyfill ③ 项目跟目录创建文件 babel.config.js ④ babel.config.js 文件内容如右侧代码 ⑤ 通过 npx babel-node index.js 执行代码 const presets = [ ["@babel/env", { targets: { edge: “17”, firefox: “60”, chrome: “67”, safari: “11.1” } }] ]; module.exports = { presets };
1.5 ES6 模块化的基本语法 默认导出语法 export default 默认导出的成员 默认导入语法 import 接收名称 from ‘模块标识符’
1.5 ES6 模块化的基本语法 按需导出语法 export let s1 = 10 按需导入语法 import { s1 } from ‘模块标识符’