5

Babel CLI 文档(https://babeljs.io/docs/usage/cli/):

babel-node [options] [ -e script | script.js ] [arguments]

但是当尝试为 Node 增加分配的内存时:

babel-node --max-old-space-size=16384 script.js

论点--max-old-space-size=16384似乎被忽略了

某人是否知道这是否应该工作,如果不应该 - 一些解决方法?

4

4 回答 4

5

我正在使用 Babel 7,这确实有效。

babel-node --max-old-space-size=16384 script.js

简单的测试方法是将大小降低到 100KB,很快就会耗尽内存。

于 2019-04-25T09:17:45.530 回答
5

编辑:(2016 年 7 月)从 6.11.4 版开始,现在支持所有变体。问题中发布的示例现在有效。


6.11.3 版中的 Babel 还不支持 v8Flags 的所有变体。

Node 本身支持使用下划线 ( --max_old_space_size) 或破折号 ( --max-old-space-size) 传递此标志。

相比之下,babel-node 仅在 用下划线指定且不支持 format 时才支持这些标志--flag=value

有一个open pull request可以解决这个问题。遗憾的是,目前没有使用值指定 v8Flags 的解决方法。

于 2016-07-13T14:07:35.003 回答
0

您还可以使用环境变量来绕过babel-node必须一起支持标志。

NODE_OPTIONS=--max-old-space-size=16384 babel-node [options] [ -e script | script.js ] [arguments]

在我的情况下,我需要使用--tls-min-v1.0但 babel-node 不知道那个标志。

NODE_OPTIONS=--tls-min-v1.0成功了。

于 2019-09-10T10:12:48.083 回答
0

有一个可能与节点 v10 相关的错误... v8flags v2 无法正常工作,您需要使用当前的 v8flags 3.1.1。

我正在使用yarn作为全局节点工具,这里有快速命令来做一个快速补丁(可能每个都重做yarl global add)......

如果使用 babel-cli 6 yarn global 添加 v8flags rm -rf ~/.config/yarn/global/node_modules/babel-cli/node_modules/v8flags

你可以使用 babel 7,但是在你的 babel 配置中需要做很多改变 yarn global add @babel/core @babel/node

于 2018-07-07T13:15:05.897 回答