探索VUE3配置

通过以下命令可把vue-cli配置输出到指定文件

生产:vue inspect --mode production > env.prod.js

开发:vue inspect --mode development > env.dev.js

部分配置详情如下:

loader:

plugin:


在vue3默认配置中,有没有我们可以优化的部分呢?我们逐一排除。

首先,列出我们开发常用的loader配置,具体如下(当然也只是部分)


把vue3中loader默认配置和常用配置对比可知,常用配置多了file-loader和url-loader。那是不是说我们要新增url-loader对图片进行处理呢?

其实不需要的,vue3本身就通过“资源模块”来对资源进行处理,而无需引入其他loader配置(=>  资源模块  <=),以下截图是默认配置

配置中的type的类型值有4种

    asset/resource:    发送一个单独的文件并导出URL。之前通过使用file-loader实现

    asset/inline:    导出一个资源的data URL。之前通过使用url-loader实现

    asset/source:    导出资源的源代码。之前通过使用raw-loader实现

    asset:    在导出一个data URL和发送一个单独的文件之间选择。之前通过使用url-loader,并且配置资源体积限制实现。

如果我们想要自己引入url-loader,该怎么做呢?

下面是本人根据官网设置验证过的,仅供参考

除了默认配置,根据项目详情,我们还可以进行以下设置

1、抽离冗余的css设置,主要是引入插件:purgecss-webpack-plugin,可参考如下设置

2、压缩图片,引入插件:image-minimizer-webpack-plugin

依赖有点多:具体如下

image-minimizer-webpack-plugin 插件依赖imagemin ,两个都安装

npm  i  image-minimizer-webpack-plugin  imagemin  -D

安装无损压缩

npm install imagemin-gifsicle imagemin-jpegtran imagemin-optipng imagemin-svgo -D

具体可参考如下设置

const ImageMinimizerPlugin = require("image-minimizer-webpack-plugin");

3、资源预先加载,引入插件:@vue/preload-webpack-plugin,具体可查考如下配置

const PreloadWebpackPlugin = require("@vue/preload-webpack-plugin");

4、最小化变更原则,优化资源更新。设置:runtimeChunk,具体可参考

script-ext-html-webpack-plugin这个插件也可实现差不多功能,可是webpack5已不再支持

5、生产打包去掉console,插件:babel-plugin-transform-remove-console,可参考如下设置

更改根目录下babel.config.js(babelrc)文件

6、模块分析,插件:webpack-bundle-analyzer,可参考如下设置

const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;

config
.plugin('analy')         
.use(BundleAnalyzerPlugin) 
.end()

热更替(略,已默认配置)

gzip(略)

externals条件值(略,防止将某些 import 的包(package)打包到 bundle 中,而是在运行时(runtime)再去从外部获取这些扩展依赖,已存在noParse: /^(vue|vue-router|vuex|vuex-router-sync)$/,不需要)

本人菜鸡,有不对的地方请大佬多多留言指教!!不胜感激!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容