Javascript 是否可以编译JS应用程序+;将NodeJS解释器转换为单个可执行文件?

Javascript 是否可以编译JS应用程序+;将NodeJS解释器转换为单个可执行文件?,javascript,compilation,distribution,node.js,Javascript,Compilation,Distribution,Node.js,是否可以将JS应用程序和NodeJS解释器编译成一个可执行文件进行分发 是否可以将JS应用程序和NodeJS解释器编译成一个可执行文件进行分发 这听起来很明显,但我的看法是这样的 “分发的单个可执行文件”听起来很像安装程序 安装程序将包含或能够在线获取js脚本和已编译的node.js。它将解包所有内容,并在/etc/init.d/中创建一个脚本来启动和停止服务器 如果您的所有客户都在同一发行版上(例如Debian),我只需要为适当的打包工具(例如apt)制作一个包,并让打包工具处理所有事情 如果

是否可以将JS应用程序和NodeJS解释器编译成一个可执行文件进行分发

是否可以将JS应用程序和NodeJS解释器编译成一个可执行文件进行分发

这听起来很明显,但我的看法是这样的

“分发的单个可执行文件”听起来很像安装程序

安装程序将包含或能够在线获取js脚本和已编译的node.js。它将解包所有内容,并在/etc/init.d/中创建一个脚本来启动和停止服务器

如果您的所有客户都在同一发行版上(例如Debian),我只需要为适当的打包工具(例如apt)制作一个包,并让打包工具处理所有事情


如果客户端都有不同的发行版,您可以查看。

您需要一个带有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

如果您的目标是执行JavaScript,您可能能够创建一个简单的C或C++包装程序,它将生成一个解释器并评估JS。如果您想要一个文件,js源代码可以作为字符串常量包含

在编译包装程序时,您希望将其复制到节点及其依赖树的其余部分。静态链接将把项目所依赖的例程复制到已编译的二进制文件中,而不是依赖于系统上的共享库


如何做到这一点将取决于您的环境

检查:如果您想使用JS、HTML和CSS开发可执行文件。谢谢@BGerrissen,但它实际上是一个已经在运行的服务器端node.JS应用程序,我想“安全”地将其分发到客户端服务器。不要认为NodeJ的工具还远。环顾四周,看到了很多手动配置。所有这些都涉及到安装nodejs,然后使用git或诸如此类的工具部署代码。我认为最好覆盖
if(process.argv[1]){…module.runMain()
加入
src/node.js
,并将代码作为根模块加载,而不是逐字插入。不过我还没有测试。想法是引导Digital阅读nodejs源代码:)@Lauri,这会将js编译为字节码,还是将代码作为字符串存储在内存中,以便在运行时执行?