是否可以将JS应用程序和NodeJS解释器编译为单个可执行文件以进行分发?
答案 0 :(得分:6)
你需要一个带有git和python的linux盒子,然后是丑陋的解决方案:
$ git clone git://github.com/ry/node.git
$ cd node
$ vim src/node.js # add your code to end before "process.loop();"
$ ./configure
$ make
$ sudo make install
$ node
答案 1 :(得分:1)
是否可以将JS应用程序和NodeJS解释器编译为单个可执行文件以进行分发?
这可能听起来很明显,但这是我的看法。
“用于分发的单个可执行文件”听起来很像安装程序......
安装程序将包含或能够在线获取您的js脚本和已编译的node.js.它将解压缩所有内容并在/etc/init.d/中创建一个脚本来启动和停止服务器。
如果您的所有客户都在同一个发行版(例如Debian)上,我只需要为适当的打包工具(例如apt)创建一个包,然后让包工具处理所有内容。
客户都有不同的发行版,您可以查看autopackage。
答案 2 :(得分:1)
如果您的目标是执行javascript,您可能能够创建一个简单的C或C ++包装器程序,它将生成一个解释器并评估您的JS。如果您需要单个文件,则可以将js源包含为字符串常量。
编译包装程序时,您需要statically link它到节点及其依赖树的其余部分。静态链接不是依赖于系统上的共享库,而是将项目所依赖的例程复制到已编译的二进制文件中。
如何执行此操作取决于您的环境