webpack打包配置(打包优化去掉c********,*****配置排除打包瘦身)

:暂无数据 2026-05-09 17:40:02 0
大家好,如果您对webpack打包配置还心存疑问,别着急,今天这篇文章就将围绕打包优化去掉c********,*****配置排除打包瘦身为您展开详细解说。

本文目录

打包优化去掉c********,*****配置排除打包瘦身

在*****中,配置:

chainWebpack(config) {

    *****(’terser’).tap((args) =》 {

      ********.*****_c***ole = true

      return args

    })

}
通过配置vue-cli把一些平常不需要用的包排除在打包文件之外。

例如:让 webpack 不打包 vue xlsx 和 element 

先找到 ***** , 添加 externals 项,具体如下:

再次运行打包,我们会发现包的大小已经大幅减小: 三个包已经不在打包的目标文件中了。

 但是我们还要使用这些包,可以通过CDN访问

在开发环境时,文件资源还是可以从本地node_modules中取出,而只有项目上线了,才需要去使用外部资源。此时我们可以使用 环境变量 来进行区分。具体如下:

在 ***** 文件中:

let externals = {}

let cdn = { css: }

c***t isProduction = *****_ENV === ’production’ // 判断是否是生产环境

if (isProduction) {

  externals = {

      /**

      * externals 对象属性解析:

      * ’包名’ : ’在项目中引入的名字’

    */

      ’vue’: ’Vue’,

      ’element-ui’: ’ELEMENT’,

      ’xlsx’: ’XLSX’

  }

  cdn = {

    css: [

***隐藏网址***

    ],

    js: [

      // vue must at first!

***隐藏网址***

***隐藏网址***

***隐藏网址***

    ]

  }

}

之后通过 html-webpack-plugin注入到 *****之中:

chainWebpack(config) {

  *****(’preload’).tap(() =》 [

    {

      rel: ’preload’,

      fileBlacklist: ,

      include: ’initial’

    }

  ])

  // 注入cdn变量 (打包时会执行)

  *****(’html’).tap(args =》 {

    ***** = cdn // 配置cdn给插件

    return args

  })

  // 省略其他...

}

找到 public/***** 通过配置CDN Config 依次注入 css 和 js。

修改head的内容如下:

《!-- 引入样式 --》

      《% for(var css of ********.*****) { %》

        《link rel="stylesheet" href="《%=css%》"》

        《% } %》

    《!-- 引入JS --》

    《% for(var js of ********.*****) { %》

      《script src="《%=js%》"》《/script》

    《% } %》

Webpack 配置

***隐藏网址***
***隐藏网址***
***隐藏网址***

static 设置的是静态资源目录的位置,不是打包生成的文件的存放位置,devServer 打包生成的文件存放在内存中,不存放到硬盘目录。

***** 设置的是访问静态资源的路径,不是访问打包生成的资源的路径,打包生成的资源路径通过 ***** 访问,静态资源路径访问的是直接存放在静态目录中的静态资源。

配置文件

initial chunk 的文件名

占位符:

non-initial chunk 的文件名,占位符参考 *****

设置为 true ,每次打包之前清理 ***** 目录中的所有内容,可以替代 CleanWebpackPlugin 插件。

定义资源存放的位置,例如根据以上的配置文件打包之后生成如下文件:

将 1 2 3 生成的资源都存放到 ***** 目录, dist/***** dist/css/***** dist/images/*****

部署的时候,将该目录下的内容复制到服务器对应的目录即可。

定义资源访问的路径

资源访问路径 = ***** + 资源名称

***** 可以是绝对路径、相对于服务的路径、相对于页面的路径。 不管是哪种路径,都要以 / 结尾

HtmlWebpackPlugin 生成的 ***** 文件:

MiniCssExtractPlugin 生成的 css 文件:

HtmlWebpackPlugin 生成的 ***** 文件:

MiniCssExtractPlugin 生成的 css 文件:

HtmlWebpackPlugin 生成的 ***** 文件:

MiniCssExtractPlugin 生成的 css 文件:

不管通过哪种路径设置 ***** ,都只是影响 HtmlWebpackPlugin 和 MiniCssExtractPlugin 生成的文件中引用其他资源的路径。具体能不能根据资源路径访问到相应的资源,还得正确的部署 ***** 目录到服务器。

***隐藏网址***

如果你的页面希望在其他不同路径中找到资源文件,则可以通过 devServer 配置中的 ***** 选项进行修改。

在生产模式下,推荐将 ***** 设置为绝对路径,然后将 ***** 目录部署与绝对路径对应的服务器中。

配置文件

module***les 是匹配规则数组,数组中的每一项为一条匹配规则,以下称为 rule。每条 rule 包括匹配条件和匹配结果。

对于依赖图中的每个模块路径,都按照 module***les 中的 rule 依次进行匹配。如果模块路径满足某个 rule 的匹配条件,则对该模块应用该 rule 的 匹配结果中指定的 loader 进行预处理。? 如果模块路径满足多个 rule 的匹配条件 ?

匹配条件包括 test include exclude 选项,每个选项为一个匹配条件,选项的值可以是:

如果某个 rule 同时有多个匹配条件选项,则模块路径必须同时满足所有的匹配条件,才会对模块应用匹配结果。test 和 include 具有相同的作用,都是必须匹配选项。exclude 是必不匹配选项(优先于 test 和 include)。

最佳实践:

以上配置文件的第二条 rule,如果某个模块不在 ./src/node_modules/ 和 ./src/libs/ 目录下,并且在 ./src/ 目录下,并且模块名以 .js 结尾,则满足该条 rule 的匹配条件。

*****

*****

*****

*****

create-react-app craco进行webpack配置(修改篇)

npm install compression-webpack-plugin --save //打包build生成gizp压缩文件

compression-webpack-plugin 打包的文件生成 .gz后缀的文件需要服务器配置支持。

npm install uglifyjs-webpack-plugin@1 --save-dev
( 必须为***版本,否则打包报错)

npm i @babel/plugin-proposal-decorators --save -dev

npm i webpack-bundle-****yzer --save -dev

:生产版本关闭此项

npm install ******-progress-webpack-plugin --save -dev

以上配置是我项目中使用,可以按需使用。

WebPack打包React项目, 减小打包后生成的js文件.

***隐藏网址***
```

这里分别把 使用的 react , react-dom , jquery , react-router , 第三方库提了出来单独生成文件*****

首先安装依赖: extract-text-webpack-plugin ,

之后在webpack中进行配置

**注意: ** 例子中配置中 {publicPath: ’./’} 不是必填项, 我这里是为了解决背景图片打包或路径不正确的问题, 具体请查看

webpack打包Js文件

a .
注意点:*****就是需要打包的文件打包之后的文件会放到dist目录中, 名称叫做*****

b .
这句指令的含义是: 利用webpack将*****和它依赖的模块打包到一个文件中
其实在webpack指令中除了可以通过命令行的方式告诉webpack需要打包哪个文件以外,
还可以通过配置文件的方式告诉webpack需要打包哪个文件

这句指令的含义是将webpack将*****和他依赖的模块打包到一个文件中
其实webpack打包指令除了可以通知要打包哪些文件,还可以通过配置
*****常见配置

刚才是输入npx webpack ***** 那么现在就可以输入npx webpack了
如果想要使用其他指令,可以直接修改的 ***** 的scirpts

以后再打包的时候,就可以直接使用npm run test了;

当然,还可以看下devtool的取值,他生成的sourcemap映射表,对打包后的包的大小和打包速度有很大影响

希望本文能帮你拨开webpack打包配置的迷雾,特别是厘清了打包优化去掉c********,*****配置排除打包瘦身这个概念。下一步,就是在行动中验证了。
本文编辑:admin

本文相关文章:


webpack构建流程(基础篇——webpack基础用法(三))

webpack构建流程(基础篇——webpack基础用法(三))

从一个常见的误区说起:很多人学webpack构建流程,却忽略了基础篇——webpack基础用法(三)。结果事倍功半。希望你不会再犯这个错误。

2026年4月21日 16:40

更多文章:


新手编程后端语言(后端开发用什么语言)

新手编程后端语言(后端开发用什么语言)

常言道:“万丈高楼平地起”。理解新手编程后端语言这座大厦,也必须从后端开发用什么语言这块基石开始。

2026年5月9日 19:00

重庆java培训班(你觉得现在的java培训怎么样)

重庆java培训班(你觉得现在的java培训怎么样)

相信点开这篇文章的你,一定对重庆java培训班抱有好奇。没关系,下面我们就结合你觉得现在的java培训怎么样,带你一步步揭开它的面纱。

2026年5月9日 18:40

合金装备和平行者splitter(合金装备和平行者全武器获得方法)

合金装备和平行者splitter(合金装备和平行者全武器获得方法)

各位朋友,关于合金装备和平行者splitter的讨论一直很多,今天咱们不聊复杂的,就聚焦于合金装备和平行者全武器获得方法,用最直白的方式把它讲清楚。

2026年5月9日 18:20

byte=多少kb?字节换算是什么呢

byte=多少kb?字节换算是什么呢

曾几何时,我也觉得字节换算表高不可攀,尤其byte=多少kb更是一头雾水。后来才发现,只是没找对方法,希望我的经验能帮到你。

2026年5月9日 18:00

webpack打包配置(打包优化去掉c***ole.log,webpack.js配置排除打包瘦身)

webpack打包配置(打包优化去掉c***ole.log,webpack.js配置排除打包瘦身)

大家好,如果您对webpack打包配置还心存疑问,别着急,今天这篇文章就将围绕打包优化去掉c***ole.log,webpack.js配置排除打包瘦身为您展开详细解说。

2026年5月9日 17:40

disabled true(怎么获取某个table中所有的input标签的节点,将所有标签的disabled设置为true)

disabled true(怎么获取某个table中所有的input标签的节点,将所有标签的disabled设置为true)

下面,我们将通过disabled true的概述、怎么获取某个table中所有的input标签的节点,将所有标签的disabled设置为true的详解以及总结展望三个部分,为您系统梳理这一主题。

2026年5月9日 17:20

wordpress整站源码(如何阅读wordpress源码)

wordpress整站源码(如何阅读wordpress源码)

最新数据显示,关注wordpress整站源码的人中,超过70%都对如何阅读wordpress源码抱有浓厚兴趣。本文将满足这一核心需求。

2026年5月9日 17:00

实例变量java(在J**A中什么是实例变量)

实例变量java(在J**A中什么是实例变量)

花费5分钟阅读本文,您将获得对实例变量java和在J**A中什么是实例变量的清晰认知,远超自己搜索数小时的效果。

2026年5月9日 16:40

donna英文名怎么读?donor是什么催化剂

donna英文名怎么读?donor是什么催化剂

当大家谈论donor时,总免不了提及donna英文名怎么读。它们之间究竟有何玄机?读完本文你便了然于胸。

2026年5月9日 16:20

vipaccess安卓版最新(无需vip免费看真人漫画软件)

vipaccess安卓版最新(无需vip免费看真人漫画软件)

大家好,如果您还对vipaccess安卓版最新不太了解,没有关系,今天就由本站为大家分享vipaccess安卓版最新的知识,包括无需vip免费看真人漫画软件的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年5月9日 16:00

最近更新

byte=多少kb?字节换算是什么呢
2026-05-09 18:00:03 浏览:0
donna英文名怎么读?donor是什么催化剂
2026-05-09 16:20:03 浏览:0
热门文章

split函数 sql(求sql split函数的用法)
2026-03-26 20:40:01 浏览:1
标签列表