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

CBP*_*CBP 6 executable command-line-arguments node.js npm

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

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

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

Joe*_*and 1

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

#! /usr/bin/env -S node --expose-gc
Run Code Online (Sandbox Code Playgroud)

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

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