vue3+vite+ts打包时报错
Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

解决办法:

1.yarn add increase-memory-limit cross-env --dev
2.package.json的script中添加:"fix-memory-limit":"cross-env LIMIT=4096 increase-memory-limit" (这是4G的,如果不行可以把4096改成81923.yarn run fix-memory-limit
4.yarn build

之后的打包还爆内存不足的错误就继续先yarn run fix-memory-limit 再yarn build 这样可以了

如果用了element plus可能打包会出现这个报错请添加图片描述
在tsconfig.json里加这代码就行

"compilerOptions": {
	"skipLibCheck": true,//针对element plus校验
}

如果打完包遇到这个提示,包块的大小超过了限制
请添加图片描述
在vite.config.ts里添加这些进行优化

build: {
  sourcemap: false,
  minify: 'terser',
  chunkSizeWarningLimit: 1500,
  terserOptions: {
    compress: {
      drop_console: true,
      drop_debugger: true
    }
  },
  rollupOptions: {
    output: {
      manualChunks(id) {
        if (id.includes('node_modules')) {
          return id
            .toString()
            .split('node_modules/')[1]
            .split('/')[0]
            .toString();
        }
      },
      chunkFileNames: (chunkInfo) => {
        const facadeModuleId = chunkInfo.facadeModuleId
          ? chunkInfo.facadeModuleId.split('/')
          : [];
        const fileName =
          facadeModuleId[facadeModuleId.length - 2] || '[name]';
        return `js/${fileName}/[name].[hash].js`;
      }
    }
  }
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐