WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).

Vue项目在打包时遇到警告,提示某些资产文件超过了244KiB的推荐大小限制,影响web性能。解决方案是通过修改vue.config.js,调整webpack配置,增大最大入口点大小和生成文件的最大体积限制,特别是针对.js文件。完成配置后重新打包即可消除警告。

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

vue项目打包 报warning: asset size limit: The following asset(s) exceed the recommended size limit (244 KiB). This can impact web performance.

在这里插入图片描述
这个警告的原因是因为vue的引入的js文件太大

解决方案:可以放开VUE打包大小限制

在vue项目中的vue.config.js的configureWebpack添加如下代码

configureWebpack: {
    // provide the app's title in webpack's name field, so that
    // it can be accessed in index.html to inject the correct title.
    name: name,
    resolve: {
      alias: {
        '@': resolve('src'),
      }
    },
    performance: {
      hints: 'warning',
      maxEntrypointSize: 40000000,
      // 生成文件的最大体积
      maxAssetSize: 20000000,
      assetFilter: function(assetFilename) {
        return assetFilename.endsWith('.js')
      }
    },
  },

最后再重新打包一下就好了

### 减小 `lodash.is` 文件体积的方法 为了减小 `node_modules/element-ui/lib/utils/lodash.is` 的文件体积并确保兼容 ES5 和提升移动端性能,可以采取以下方法: #### 1. 使用按需加载的方式引入 Element UI 通过使用 `babel-plugin-component` 插件,仅导入所需的组件及其样式,从而减少整体包的大小。这种方式能够显著降低打包后的文件体积[^3]。 ```javascript // 安装插件 npm install babel-plugin-component --save-dev // 配置 .babelrc 或 babel.config.js plugins: [ ['component', { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" }] ] ``` #### 2. 替换 `lodash.is` 方法 如果发现 `lodash.is` 是导致体积增大的主要原因之一,则可以通过替换其功能来实现更轻量化的解决方案。例如,手动编写简单的判断逻辑替代部分复杂的功能调用[^4]。 ```javascript function isString(value) { return typeof value === 'string' || value instanceof String; } function isArray(value) { return Array.isArray ? Array.isArray(value) : Object.prototype.toString.call(value) === '[object Array]'; } ``` #### 3. 压缩工具配置调整 对于未被压缩的大文件(如 `common/vendor.js`, `ec-canvas/echarts.js`),可能是因为它们超过了默认设置的最大尺寸阈值而跳过了进一步优化过程。因此建议重新审视 Webpack 构建流程中的 TerserPlugin 参数设定,允许更大范围内的代码参与压缩操作[^1]。 ```javascript const TerserPlugin = require('terser-webpack-plugin'); module.exports = { optimization: { minimize: true, minimizer: [new TerserPlugin({ terserOptions: { ecma: 5, // 确保转换为目标环境支持的标准版本 compress: {}, mangle: {} } })] }, }; ``` #### 4. 更新依赖库到最新稳定版 有时旧版本可能存在不必要的冗余数据或者不完善的 polyfill 实现方式等问题;及时升级基础框架及相关扩展模块有助于获得更好的表现效果同时修复潜在漏洞风险[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值