Umi: 升级到umi 3.1.0 打包项目卡死,不知道为什么,哪位大佬给看下

Created on 10 Apr 2020  ·  15Comments  ·  Source: umijs/umi


image

升级到 umi3.1.0 把配置文件简化后就变成这样了

What happens?

最小可复现仓库

请使用 yarn create @umijs/umi-app 创建,并上传到你的 GitHub 仓库


复现步骤,错误日志以及相关配置


相关环境信息

  • Umi 版本
  • Node 版本
  • 操作系统
FAQ type(enhancement)

Most helpful comment

试下加上 nodeModulesTransform 配置:

// .umirc.ts
nodeModulesTransform: {
    type: 'none',
  },

All 15 comments

image

最后打包出来了,这个时间也太长了吧。。。

试下加上 nodeModulesTransform 配置:

// .umirc.ts
nodeModulesTransform: {
    type: 'none',
  },

也可以试试禁用 babel 缓存 BABEL_CACHE

根目录创建.env文件,增加BABEL_CACHE=none,仍然无效,到92就卡住了,如下:

  • Webpack █████████████████████████ chunk asset optimization (92%) TerserPlugin
    然后一段时间后,内存溢出
    FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

下面是报告,不知道有没有排查效果。

report.20200414.215522.20932.0.001.log

建议回退到umi3.0.14
为此我把node、npm、yarn几乎都重装了,umi感觉质量上问题多多,umi3.1.0特别无语,为此搭上了几个工作日,建议各位难兄难弟,升级umi一定要慎重!绝不要轻易升级这玩意!血泪教训!

umi3.0.14仍然不行,一样溢出,是不是我页面太多,把umi调webpack的时候整崩溃了?
我把路由设置删到只剩login,就打包通过了。

export default [
  {
    name: 'login',
    path: '/user/login',
    component: './login/login.js',
    // component: './user/login',
  }, 
  {
    path: '/',
    component: '../layouts/SecurityLayout',
    routes: [
      {
        path: '/',
        component: '../layouts/BasicLayout',
        Routes: ['src/pages/Authorized'],
        routes: [
        ],
      },
    ],
  },
  {
    component: './404',
  },
];

将页面从路由里删除完,再尝试增加了一批页面,能够打包通过,但是打包效果不是我想要的。
image
我希望能够像umi2一样,将我的页面按layout拆分即可,不然每个页面都单独打包,最终网站会非常大。
image

可以提供几个打包策略,供项目选择。

具体是terserPlugin这个插件这里报内存溢出
我现在的做法是,卸载了terser 和 terser-webpack-plugin
npm uninstall terser 和npm uninstall terser-webpack-plugin
然后修改webpack 和umi 去除了对terser-webpack-plugin 的依赖
具体修改的地方:
/feit/tools/jenkins/workspace/hcip-web-develop/node_modules/webpack/lib/WebpackOptionsDefaulter.js
vi /feit/tools/jenkins/workspace/hcip-web-develop/node_modules/@umijs/bundler-webpack/lib/getConfig/getConfig.js
vi /feit/tools/jenkins/workspace/hcip-web-develop/node_modules/webpack/package.json
搜索关键字 terser ,相关的代码行,全部注释掉了

image

最后打包出来了,这个时间也太长了吧。。。

差不多 我也四分多钟。 本想从umi2升级到umi3提提速,结果势均力敌。

mbp 16款 8g内存
node 12

试试 esbuild 插件

umi3的打包问题、浏览器断点调试问题还有人跟进吗?

根目录创建.env文件,增加BABEL_CACHE=none,仍然无效,到92就卡住了,如下:

  • Webpack █████████████████████████ chunk asset optimization (92%) TerserPlugin
    然后一段时间后,内存溢出
    FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

下面是报告,不知道有没有排查效果。

report.20200414.215522.20932.0.001.log

用最新版 [email protected],已经解决了 OOM

恭喜,大半年了,不容易啊
另外不卡死时,打包出重复css的问题解决了吗?

5471 #4260

Was this page helpful?
0 / 5 - 0 ratings