配置 webpack 的打包发布
在 package.json 文件的 scripts 节点下,新增 build 命令如下:
--model 是一个参数项,用来指定 webpack 的运行模式。production 代表生产环境,会对打包生成的文件进行代码压缩和性能优化。
注意:通过 --model 指定的参数项,会覆盖 webpack.config.js 中的 model 选项。
把 JavaScript 文件统一生成到 js 目录中
在 webpack.config.js 配置文件的 output 节点中,进行如下的配置:
把图片文件统一生成到 image 目录中
修改 webpack.config.js 中的 url-loader 配置项,新增 outputPath 选项即可指定图片文件的输出路径:
自动清理 dist 目录下的旧文件
为了在每次打包发布时自动清理掉 dist 目录中的旧文件,可以安装并配置 clean-webpack-plugin 插件:
解决默认 Source Map 的问题
开发环境下,推荐在 webpack.config.js 中添加如下的配置,即可保证运行时报错的行数与源代码的行数保持一致:
只定位行数不暴露源码
在生产环境下,如果只想定位报错的具体行数,且不想暴露源码。此时可以将 devtool 的值设置为 nosources-source-map
实际效果如图所示:
定位行数且暴露源码
在生产环境下,如果想在定位报错行数的同时,展示具体报错的源码。此时可以将 devtool 的值设置为source-map
采用此选项后:你应该将你的服务器配置为,不允许普通用户访问 source map 文件!
Source Map 的最佳实践
① 开发环境下:
建议把 devtool 的值设置为 eval-source-map
好处:可以精准定位到具体的错误行
② 生产环境下:
建议关闭 Source Map 或将 devtool 的值设置为 nosources-source-map
好处:防止源码泄露,提高网站的安全性