cli dll打包 vue_vue-cli3使用 DllPlugin 实现预编译提升构建速度

本文介绍了如何使用Vue CLI3结合DllPlugin进行预编译,以提高项目的构建速度。通过创建webpack.dll.conf.js配置文件,定义预编译的依赖库,然后运行npm run dll命令生成DLL文件,并在index.html中引入。最后,在vue.config.js中配置DllReferencePlugin,让webpack忽略已预编译的文件,从而加速构建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue-cli3使用 DllPlugin 实现预编译提升构建速度

发布时间:2020-08-29 11:24:27

来源:脚本之家

阅读:93

在项目打包上有两个目标:减少打包代码体积和加快打包速度

1. 减少打包体积:

(1)对于用的比较少的库,可以去掉(我去掉了jquery以及lodash),用到的地方,参考源码自己写

(2)非用不可的又比较大的库(我这里用了monaco-edit),使用CDN方式引入

打包体积减少的情况下,自然速度也会有所提升

2. 加快打包速度:

我目前做了这些:

(1)vue-cli2升级到vue-cli3,顺便webpack2升级到webpack4,构建速度一下子从3分钟左右提升到不到1分钟(vue-cli3升级过程 https://www.jb51.net/article/160146.htm

(2)使用 DllPlugin 进行预编译,过程如下:

·    npm install webpack-cli --save-d

·    独立出一套webpack配置webpack.dll.conf,用dllPlugin定义要打包的dll文件;这里我在根目录下新建webpack.dll.conf.js  内容如下

const path = require("path");

const webpack = require("webpack");

module.exports = {

entry: {

vendor: [

"vue-router/dist/vue-router.esm.js",

"vuex/dist/vuex.esm.js",

"axios"

]

},

output: {

path: path.join(__dirname, "public/vendor"),

filename: "[name].dll.js",

library: "[name]_[hash]" // vendor.dll.js中暴露出的全局变量名

},

plugins: [

new webpack.DllPlugin({

path: path.join(__dirname, "public/vendor", "[name]-manifest.json"),

name: "[name]_[hash]",

context: process.cwd()

})

]

};

注意;在vue-cli3中一定要把生成的dll放到public中或者自己去配置publicPath (没仔细看文档掉进坑)

·    package.json中定义运行webpack.dll.conf.js的命令

{

···

"scripts": {

"serve": "npm link typescript && vue-cli-service serve",

"dll": "webpack -p --progress --config ./webpack.dll.conf.js",

···

},

···

}

·    运行npm run dll命令生成dll

·    index.html中加载生成的dll文件

·    以上已经完成预编译并载入;但是一定不要忘记webpack构建时告诉webpack哪些文件已被预编译,使构建过程忽略这些已预编译的文件;

具体做法就是在vue.config.js的配置文件中添加

const webpack = require("webpack");

module.exports = {

···

configureWebpack: {

plugins: [

new webpack.DllReferencePlugin({

context: process.cwd(),

manifest: require("./public/vendor/vendor-manifest.json")

})

]

}

···

}

总结

以上所述是小编给大家介绍的vue-cli3使用 DllPlugin 实现预编译提升构建速度 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值