{ "scripts": { "start": "cross-env NODE_ENV=dev webpack-dev-server", "build": "cross-env NODE_ENV=production webpack" } }
浅谈Webpack自动化构建实践指南(3)
start:开发环境运行指令,使用cross-env三方库设置process.env.NODE_ENV为dev,并在本地开启webpack开放服务器,方便开放;
build:生产环境运行指令,使用cross-env三方库设置process.env.NODE_ENV为production,将打包输出代码和资源文件;
最后分别执行yarn start和yarn build指令即可分别执行开发和生产构建打包了。
Babel
可自定义配置型的通用编译器,需要明确指定期望babel做什么,通过安装插件(plugins)或预设(presets,也就是一组插件)来指示 Babel 去做什么事情。
配置文件
首先需要创建一个配置文件,即在项目的根路径下创建 .babelrc 文件。然后输入以下内容作为开始:
{ "presets": [], "plugins": [] }
之后就可以拓展这个配置文件以指定此项目中 Babel 的功能。
babel-preset-es2015
我们期望在项目中能使用更新潮的ES6版本语法,但由于目前还有许多JavaScript环境不能很好兼容ES6,所以需要Babel将ES6代码编译成ES5语法代码,保证应用的使用范围。
执行如下命令,安装 “es2015” Babel 预设:
yarn add --dev babel-preset-es2015
修改.babelrc配置文件:
{ "presets": [ "es2015" ], "plugins": [] }
babel-preset-stage-num
另外,JavaScript还有一些提案,正在推进,不久的将来也可能成为标准的一部分,所以目前将这些草案提出,内容更新直至最终成为标准,添加进标准库的过程划分为 5(0-4)个阶段。 根据提案的状态和内容,将其在各个阶段更新(阶段0至阶段3),最终在阶段 4表明该提案被标准正式采纳,当然不被采纳的提案不会进入阶段4。
以下是4个不同阶段的打包预设:
- babel-preset-stage-0
- babel-preset-stage-1
- babel-preset-stage-2
- babel-preset-stage-3
注: stage-4 预设不存在,它其实就是上文介绍的 es2015 预设。
以上每种预设都包含紧随的后期阶段预设,同时还可能包含其他额外特性。例如,babel-preset-stage-0 包含 babel-preset-stage-1, babel-preset-stage-2,babel-preset-stage-3,而 babel-preset-stage-1则包含 babel-preset-stage-2,babel-preset-stage-3依次后推。
点此查看关于各阶段预设的详细特性内容文档
我们次选择支持特性最全面的预设:
yarn add --dev babel-preset-stage-0
在.babelrc 配置文件内添加: