项目中webpack优化配置(持续更新)

项目中webpack优化配置

1. 开发效率, 体验

DLL(开发过程中减少构建时间和增加应用程序的性能)

使用 DllPlugin 进行分包,使用 DllReferencePlugin(索引链接) 对 manifest.json 引用,让一些基本不会改动的代码先打包成静态资源,避免反复编译浪费时间。

使用方式如下:

DLL 配置文件 comfig/dll.js

const path = require('path')
module.exports = {
  entry: [
    'vue',
    'vue-router',
    'axios',
    'element-ui',
    'echarts', // 可视化
    'clipboard', // 复制
    'crypto-js', // 加密
    'js-cookie',
    'js-md5',
  ],
  output: path.join(__dirname, '../public/vendor'),
  inject: true,
  open: false,
  cacheFilePath: path.resolve(__dirname, './public')
}

在vue.config.js,引入配置
···
const dllConfig = require(‘./config/dll’)
module.exports = {
publicPath: ‘/’,
outputDir: ‘’,
assetsDir: ‘static’,
pluginOptions: {
dll: dllConfig
},
}
···

在package.json中添加:

 "scripts": {
    "dll": "vue-cli-service dll",
  },

第一次dev时运行以下命令:

  // 打包第三方包,提高打包效率
  npm run dll

运行完之后,会在public目录下创建一个vendor文件夹,里面就是将部分引用的包,进行了预编译。
在这里插入图片描述

优化resolve.modules配置和resolve.alias配置

  • resolve.modules:告诉webpack去那个目录下查找引用的模块。

  • resolve.alias:使用别名,减少输入路径长度,相比resolve.modules,因为没有省略路径,会直接去别名路径查找,减少搜索时间。

优化引入模块的路径

{
   
  resolve: {
   
  alias: {
   
        '@': resolve('src'),
        '@bizComp': resolve('src/components-biz'),
        '@service': resolve('src/service'), // 接口
        '@utils': resolve('src/utils'),
        '@mixins': resolve('src/mixins')
      },
    modules: [
      path.resolve(__dirname, "src"),
      path.resolve(__dirname, "node_modules"),
      "node_modules",
    ],
  },
}

使用配置后的引入方式:
在这里插入图片描述

参考1

相关推荐

  1. SQL持续更新

    2023-12-21 08:02:01       27 阅读
  2. vue项目vue.config.js配置webpack详解

    2023-12-21 08:02:01       13 阅读
  3. webpack项目进行优化

    2023-12-21 08:02:01       37 阅读
  4. webpack配置优化

    2023-12-21 08:02:01       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-21 08:02:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-21 08:02:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-21 08:02:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-21 08:02:01       20 阅读

热门阅读

  1. 安装Neo4j

    2023-12-21 08:02:01       44 阅读
  2. 【Qt】Qt Creator 警告: Unused parameter ‘xxx‘

    2023-12-21 08:02:01       38 阅读
  3. redis 从0到1完整学习 (三):redis 数据结构

    2023-12-21 08:02:01       44 阅读
  4. Ubuntu2204一句话下载VSCode

    2023-12-21 08:02:01       53 阅读
  5. 前端工程化面试题

    2023-12-21 08:02:01       28 阅读
  6. vue爷孙组件传参v-bind=“$attrs“ v-on=“$listeners“

    2023-12-21 08:02:01       32 阅读
  7. Linux|shell编程|实验总结|期末考查试题

    2023-12-21 08:02:01       29 阅读