如何将普通节点服务器转换为可执行文件?
How to convert a vanilla node server into a executable?
我想制作一个在后台运行的 node.exe 文件。
我没有使用第三个 npm 包,但服务器正在使用这些模块:
- FS(文件系统)
- Exec(子进程)
- HTTP(服务器)
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 文件。这可能是一个混乱的解决方案,但我认为没有真正好的方法。
我想制作一个在后台运行的 node.exe 文件。
我没有使用第三个 npm 包,但服务器正在使用这些模块:
- FS(文件系统)
- Exec(子进程)
- HTTP(服务器)
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 文件。这可能是一个混乱的解决方案,但我认为没有真正好的方法。