当前位置: 首页 > 面试题库 >

如何将Node.js应用程序部署为单个可执行文件?

弘靖琪
2023-03-14
问题内容

假设我已经编写了一个Node.js应用程序,现在我想分发它。当然,我想为用户提供方便,因此,我不希望他安装Node.js,运行npm install然后手动键入node app.js

我更喜欢一个可执行文件,例如.exeWindows上的文件。

我该如何处理?

我知道这个线程,无论如何这仅与Windows有关。如何以独立于平台的方式实现这一目标?有任何想法吗?最佳做法?…?

完美的解决方案是我可以提供源文件夹的“编译器”。源文件夹在各种.js文件,node_modules文件夹和一些元数据(例如中)中包含应用程序本身package.json。输出应为各种平台(例如Windows,OS
X和Linux)的二进制文件。

哦,重要的是:我不想对源代码进行 任何 更改,因此require即使相对路径现在位于打包的应用程序内部,使用相对路径的调用仍然应该起作用。

有任何想法吗?

PS:我不希望用户独立安装Node.js,它也应该包含在可执行文件中。


问题答案:

同时,我发现了(对我而言)完美的解决方案:nexe,它从Node.js应用程序(包括其所有模块)创建单个可执行文件。

这是理想解决方案的第二件好事。



 类似资料:
  • 问题内容: 我刚刚开始学习Docker,并且尝试在Windows上使用boot2docker进行简单设置。我在任何教程或在线示例中都找不到如何使boot2docker VM可访问我的项目文件的方法。 我下载了boot2docker,并成功安装并启动并运行它。我也可以使用SSH并运行hello world docker示例,因此我知道我在VM中安装了有效的Docker。 现在,问题是 :如何在boo

  • 问题内容: 我是Node.js编程的新手,我最近使用mongoDB创建了一个示例工作Web应用程序(express,bone和其他免费视图技术)。现在,我正要在暂存环境中部署该应用程序,但我不确定如何打包此应用程序并将其分发。[我可以照顾mongoDb并单独进行设置] 我来自Java世界,在那里我们为可重用的libs创建了jars,并为servlet容器中部署的Web应用程序创建了war / ea

  • 在Heroku上部署Node.js应用程序时,我遇到以下错误。 2017-04-18T18:40:10.158442+00:00APP[Web1]:npm错误!请在任何支持请求中包含以下文件: 2017-04-18T18:40:10.158544+00:00APP[Web1]:npm错误!/app/npm-debug.log 2017-04-18T18:40:10.237236+00:00 Her

  • 我已经构建了这3个应用程序。它们每个都从用户输入中收集数据,并创建一个csv文件。其中2个依靠LEAP运动控制器。我正试图找到一种方法,将它们结合到一个程序中。关于我该怎么做,有什么建议吗?我能把它们像类一样封装起来,然后让主程序单独调用每一个吗?或者我需要重新编写所有内容才能一起工作?每个应用程序对draw()和所有类型的标志的使用都非常不同,noLoop()和Loop()调用会根据需要暂停以收

  • 我已经制作了我的网络应用程序,我想把它放在互联网上。我听说用户可以使用 .war 文件在 cPanel 中部署 Web 应用程序。我一直在搜索这个,任何类型的教程或任何有关如何做到这一点的信息。但是没有一个真正告诉你如何做到这一点,你只会找到关于如何在Tomcat或Glassfish上部署的教程。我在这里错过了什么点吗?一旦我的 Web 应用程序打包为 .war 文件,我如何将它放到互联网上?如果

  • 我想部署两个应用程序foo。war和条形图。war到同一个Tomcat实例。他们是否可以侦听不同端口上的连接,例如,foo侦听端口81,bar侦听端口82?如果是,我如何配置?我意识到应用程序没有必要监听不同的端口,但这正是我想要实现的。 此外,如果我将重命名为,使其在根上下文中运行,那么对该Tomcat实例的所有请求都将由foo应用程序处理,因此bar必须部署到单独的Tomcat实例,这是否正确