如何将普通节点服务器转换为可执行文件?

How to convert a vanilla node server into a executable?

我想制作一个在后台运行的 node.exe 文件。

我没有使用第三个 npm 包,但服务器正在使用这些模块:

Exec 触发一个批处理文件,打开一个 console.exe 程序。

有没有办法将其捆绑到一个 .exe 文件中?

您可以查看这个包:Nexe

有一个名为 pkg 的 npm 包。您可以使用

安装它
npm i pkg -g

然后您可以使用以下方法将您的节点项目转换为 exe(macos 和 linux):

pkg (yourfile).js

你可以把你打包好的node exe的批处理文件放到运行里面。

编辑:

我之前误解了这个问题,但是要做到这一点,你需要使用一个生成器文件。不幸的是,它不适用于你的二进制文件,但如果你想使用文本文件,你可以这样做:

创建这样的文件结构:

src/
  generator/
    generate.js
  asset.txt
  app.js
  makefile

在您的 makefile 中,输入

.PHONY: all
all:
  node generator/generate.js
  pkg app.js

在generate.js中你可以有类似的东西:

fs.readFile("asset.txt", (e, data) => {
  fs.writeFile("assets.js", `
    var asset_txt = \`${data}\`
  `);
});

并且在您的 app.js 中,需要 assets.js 文件。这可能是一个混乱的解决方案,但我认为没有真正好的方法。