Vue-Cli 使用 vue-cli-plugin-dll 进行预编译,提升构建速度

vue-cli-plugin-dll 模块预编译原理

      本质是将大量复用模块且不会频繁更新的库进行预编译,且只需要编译一次,编译完成后产出指定文件(可以称为动态链接库)。在之后的构建过程中不会再对这些模块进行编译,而是直接使用DllReferencePlugin来引用动态链接库的代码,因此可以提高构建速度。一般可以将第三方模块进行预编译,如 vue、vue-router、vuex等,只要这些依赖模块不更新,就不需要再重新编译。

1. 安装 vue-cli-plugin-dll 插件
npm i vue-cli-plugin-dll
2. 新建 vue.config.js 文件来进行相关的配置
const path = require('path')
module.exports = {
    pluginOptions: {
        dll: {
         // 入口配置
         entry: ['vue','vuex','vue-router','v-viewer','moment','mint-ui','lodash','element-ui','core-js'],
         // 输出目录
         output: path.join(__dirname, './public/dll'),
   
         // 是否开启 DllReferencePlugin,
         open: true,
   
         // 在执行 `dev` , `build` 等其他指令时,程序会自动将 `dll` 指令生成的 `*.dll.js` 等文件自动注入到 index.html 中。
         inject: true,
       }
     }
}
3. 生成dll文件
npx vue-cli-service dll

4. 启动、打包项目

5. 多入口配置

const path = require('path')
module.exports = {
    pluginOptions: {
        dll: {
         // 入口配置
         entry: {
            vue: ["vue", "vue-router", "vuex", 'vue-kinesis'],
            plugin: ["v-viewer",'moment','lodash','bignumber','core-js'],
            ui: ["mint-ui",'element-ui'],
         },
         // 输出目录
         output: {
            path: path.join(__dirname, 'public/dll'),
            filename: '[name].dll.js',
            // vendor.dll.js中暴露出的全局变量名
            // 保持与 webpack.DllPlugin 中名称一致
            library: '[name]_[hash]'
         },
         // 是否开启 DllReferencePlugin,
         open: true,
   
         // 在执行 `dev` , `build` 等其他指令时,程序会自动将 `dll` 指令生成的 `*.dll.js` 等文件自动注入到 index.html 中。
         inject: true,
       }
     }
}

注意事项:每当生成过dll中存在依赖需进行升级或更新的时候,都要执行  生成dll文件( npx vue-cli-service dll ) 的命令来生成新的文件

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值