ES6 模块化

it2023-10-27  72

模块化

ES6模块化

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

通过模块化解决下述问题

① 命名冲突 ② 文件依赖  模块化就是把单独的一个功能封装到一个模块(文件)中,模块之间相互隔离,但是可以通过特定的接口公开内部成 员,也可以依赖别的模块  模块化开发的好处:方便代码的重用,从而提升开发效率,并且方便后期的维护

浏览器端模块化规范

AMD Require.js (http://www.requirejs.cn/)CMD Sea.js (https://seajs.github.io/seajs/docs/) AMD和CMD适用于浏览器端的 Javascript 模块化

CommonJS 适用于服务器端的 Javascript 模块化

ES6 模块化规范

浏览器端与服务器端通用的模块化开发规范。

每个 js 文件都是一个独立的模块  导入模块成员使用 import 关键字  暴露模块成员使用 export 关键字

大一统的模块化规范 – ES6模块化

① 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 ‘模块标识符’

最新回复(0)