Open liujiusheng opened 4 years ago
Angular中代码量过大时有时候打包不出来,但是部分电脑可以打包出来。
Windows下可设置node的内存: set NODE_OPTIONS=--max_old_space_size=8192。单位为MB
set NODE_OPTIONS=--max_old_space_size=8192
--max_new_space_size:单位为KB
--max_new_space_size
深入分析后发现引起问题的是node-sass。与max_old_space_size无关。所以修改node.js的内存并没有什么用。
网上查了node-sass后发现很多人都遇到过同样的问题,而且这个包还有其它各种奇怪问题,统一推荐dart-sass,dart-sass的npm包为sass,安装很方便,但是由于使用的Angular,低版本的Angular使用的是node-sass,找了半天也不知道在哪里引用的node-sass,所以放弃直接替换node-sass为dart-sass的方案。
重新安装Angular CLI,用CLI重新生成新项目,生成新项目时选择使用route,scss,将原src目录下的业务代码替换到新的框架下,重新安装原项目用到的其它依赖,重新yarn run build,成功。
Angular中代码量过大时有时候打包不出来,但是部分电脑可以打包出来。
Windows下可设置node的内存:
set NODE_OPTIONS=--max_old_space_size=8192
。单位为MB--max_new_space_size
:单位为KB深入分析后发现引起问题的是node-sass。与max_old_space_size无关。所以修改node.js的内存并没有什么用。
网上查了node-sass后发现很多人都遇到过同样的问题,而且这个包还有其它各种奇怪问题,统一推荐dart-sass,dart-sass的npm包为sass,安装很方便,但是由于使用的Angular,低版本的Angular使用的是node-sass,找了半天也不知道在哪里引用的node-sass,所以放弃直接替换node-sass为dart-sass的方案。
最终解决方案:
重新安装Angular CLI,用CLI重新生成新项目,生成新项目时选择使用route,scss,将原src目录下的业务代码替换到新的框架下,重新安装原项目用到的其它依赖,重新yarn run build,成功。