在vue-cli中如何将所有js以及css打包成一个js文件,如果做不到,如何将app.js manifest.js vendor.js打包成一个文件
在vue-cli中如何将所有js以及css打包成一个js文件,如果做不到,如何将app.js manifest.js vendor.js打包成一个文件
为什么会有这样的需求?
如果是为了优化性能,这样做得不偿失,虽然减少url请求会有一定的性能优化,但这样会导致你每次修改代码会生成一个带有不同hash的js文件,这样的话浏览器的缓存作用会微乎其微
vue-cli 会把你的所有js打包成3个js,
app.js 自己写的代码
manifest.js 一个映射文件
vendor.js 你使用的库打包后的文件(jq、vue之类的)
使用这种方式自己更改代码后manifest.js、app.js会重新打包生成新的文件,vendor.js文件不会重新打包,这样vendor.js就会从缓存中读取
6 回答2.8k 阅读✓ 已解决
8 回答4.5k 阅读✓ 已解决
6 回答3k 阅读✓ 已解决
5 回答2.6k 阅读✓ 已解决
6 回答2.1k 阅读
5 回答6.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
这样的需求不是很合理啊。具体参考楼上回答。
但非要实现也可以。
1、再怎么样,我也建议提取
css
建议。不然等待JS
加载完,才显示样式。用户明显可以看出样式缺失,然后才有样式。提取使用的插件是用的
extract-text-webpack-plugin
。2、从
vue-cli @2.9.x
版本的build/webpack.prod.conf.js
来看,会提取公共的JS
代码到mainfest.js
,vendor.js
,vendor-async.js
。如果不需要就注释即可。刚好之前写了篇
分析vue-cli构建的文章
,分析vue-cli@2.9.3 搭建的webpack项目工程,附上一些代码和注释可供参考。