当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:
当前回答
node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --baseHref=/baseUrl/ --prod=true
其他回答
当我在Visual Studio Code中执行以下语句时,我得到了相同的错误消息。但是当我在Windows命令行中执行相同的东西时,我可以成功地构建。
npm install -g increase-memory-limit
increase-memory-limit
set NODE_OPTIONS=--max_old_space_size=4096
ng build -c deploy --build-optimizer --aot --prod --sourceMap
试试这个解决方案,在论坛上的一个旧消息中指出:3.7.0:iOS build with——prod无法工作
打开node_modules / @ionic / app-scripts / bin / ionic-app-scripts.js
将第一行改为:
#!/usr/bin/env node
to
#!/usr/bin/env node --max-old-space-size=4096
尝试1024和2048的值,但对于一个相对较大的应用程序,你可能需要4096。
在我的例子中,错误是由于在for中不恰当地使用条件引起的。循环。而不是:
for (let t = startNo; t <= endNo; t++) {}
我有:
for (let t = startNo; endNo; t++) {}
执行如下命令:
export NODE_OPTIONS="--max-old-space-size=2048"
检查你已经有多少钱了:
> node
> v8.getHeapStatistics()
{
total_heap_size: 6049792,
total_heap_size_executable: 524288,
total_physical_size: 5477720,
total_available_size: 1094444024,
used_heap_size: 4141728,
heap_size_limit: 1098907648,
malloced_memory: 8192,
peak_malloced_memory: 582752,
does_zap_garbage: 0,
number_of_native_contexts: 2,
number_of_detached_contexts: 0
}
然后heap_size_limit: 1098907648
对我来说,问题是有一个额外的node_modules文件夹,我重命名为node_modules_old,并运行npm install来生成一个新的node_modules。在某种程度上,构建仍然会选择node_modules_old文件夹,所以我将node_modules_old从目录中移出以解决这个问题。