将 NodeJS 编译成二进制文件

11

我想把Node.js编译成二进制文件,就像C/C++一样。
编译

$NodeCompile -ofast Node.js -o executable

(如果我不能进行编译器设置也没关系)

运行它。

$./executable

问题中没有太多的上下文,所以我真的不确定这里的最终目标是什么。然而,其中一个选项是使用 pkg https://www.npmjs.com/package/pkg - Naveen Kulkarni
  1. PKG 对我不起作用,我没有管理员权限。
  2. 我正在编译这个代码以防止别人窃取我的代码。
- just a noob
@justanoob 你怎么会对自己的代码没有控制权呢?在你的开发机上“编译”代码并部署可执行文件...你是在告诉我们你在自己的电脑上没有管理员权限吗? - Marc
1个回答

27

你可能想要看一下pkg

它可以从JavaScript中创建一个自包含的二进制可执行文件,包括模块依赖和资源文件。

安装和使用都很容易:

$ npm install -g pkg
$ pkg index.js -o my-program
$ ./my-program

据我所知,这个二进制文件包含了nodejs的字节码。同时看起来你也可以进行交叉编译。

注意:我也尝试过nccnexe,但我发现它们不是很有用。ncc只创建了一个自包含的Javascript文件,而nexe在我尝试使用它时遇到了Python错误。


如果您当前的Node版本不受pkg支持,请添加--targets node8-linux(或其他版本)。 - smartmouse

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接