将节点命令行选项传递给 npm 可执行文件?

Pass node command line options to npm executable?

有谁知道是否可以将节点命令行选项(例如 --expose-gc)直接传递到 npm 可执行文件中。

我有一个构建可执行文件的节点模块(参见 here)。我希望该可执行文件能够访问 global.gc()。为此,您需要使用 --expose-gc 标志启动节点进程。

我可以强制用户将我的可执行文件包装在节点命令周围,但为什么我什至需要一个可执行文件。想法?

假设您的可执行文件名为 ex。首先,通过在命令行执行 chmod a+x ex 确保它是可执行的。接下来,确保 ex 文件以如下行开头:

#! /usr/bin/env node --expose-gc

env(1) 将在您的路径上找到节点可执行文件,并 运行 它使用给定的参数,将 ex 的内容传递到该进程的标准输入中,因为 #! "scratchbang" 在行首。

运行 您的程序仅包含 ex./bin/ex(例如),而不是 node ex.