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

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

我有一个构build可执行文件的节点模块(请参阅此处 )。 我希望该可执行文件有权访问global.gc()。 为了做到这一点,你需要用–expose-gc标志来启动你的节点进程。

我可以强制用户将我的可执行文件包裹在一个节点命令中,但为什么我甚至需要一个可执行文件。 思考?

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

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

env(1)会在你的path上find可执行的节点,并运行给定的参数,将ex的内容传递给该进程的stdin,因为#! “scratchbang”在行首。

ex或者./bin/ex )运行你的程序,而不是./bin/ex