前端工程化 ES6模块化规范
前端工程化
模块化相关规范
模块化概述
传统开发模式的主要问题 1》命名冲突 2》文件依赖
通过模块化解决上述问题
模块化 就是把单独的一个功能封装到一个模块(文件)中,模块之间相互隔离,但是可以通过特定的接口公开内部成员,也可以依赖别的模块 模块化开发的好处:方便代码的重用,从而提升开发效率,并且方便后期的维护
大一统模块化规范 - ES6模块化规范
ES6模块化规范中定义: 每个 js 文件都是一个独立的模块 导入模块成员使用 import 关键字 暴露模块化成员使用 export关键字
- Node.js 中通过Babel 体验ES6 模块化
npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node
npm install --save @babel/polyfil
项目根目录创建文件 babel.config.js babel.config.js 文件代码如下代码:
const presets = { ["@babel/env",{ targets:{ edge:"17", firefox:"60", chrome:"67", safari:"11.1" } }] ]; module.exports = { presets };
ES6模块化的基本语法
- 默认导出与默认导入 默认导出语法 export default 默认导出的成员 默认导入 语法 import 接收名称 from ‘模块标识符’
- 按需导入与导出 按需导出语法 export let s1 = 10
// 当前文件模块为 m1.js // 向外按需导出变量 s1 export let s1 = aaa // 向外按需导出变量s2 export let s2 = ccc // 向外按需导出方法 say export function say = function () { }
按需导入 语法 import { s1 } from 模块标识符
// 导入模块成员 import { s1,s2 as ss2,say } from ./m1. js console. log(s1) // 打印输出aaa console. log (ss2) // 打印输出ccc console. log (say) // 打印输出 [ runction : say]
- 直接导入并执行模块代码