1

我开发了一个节点 js 应用程序。我已经设法使用node pkg将我的应用程序捆绑到一个 .exe 文件中,该文件可以在 Windows 上完美运行。现在我需要为 macOS 做同样的事情,以便我的应用程序可以在 Apple 计算机上运行。节点 pkg本身也为 Linux 和 macOS 提供可执行文件,但我无法使用 macOS 版本。有什么方法可以用 node js 为 macOS 开发软件吗?如果 macOS 有哪些文件格式与 Windows 中的 .exe 文件类似?

4

1 回答 1

0

当您使用pkg打包 Node.js 应用程序时,默认情况下会创建适用于 Windows、Linux 和 macOS 的可执行文件。

这个最小的例子创建了一个在控制台打印“HELLO WORLD”的可执行文件:

$ echo "console.log('HELLO WORLD')" > index.js
$ npx pkg index.js
npx: installed 138 in 5.155s
> pkg@4.4.2
> Targets not specified. Assuming:
  node10-linux-x64, node10-macos-x64, node10-win-x64

这会产生以下可执行文件:

$ ls -l
total 227360
-rwxr-xr-x  1 pahund  110015913  39698697 Dec 24 14:03 index-linux
-rwxr-xr-x  1 pahund  110015913  40712141 Dec 24 14:03 index-macos
-rw-r--r--  1 pahund  110015913  35979810 Dec 24 14:03 index-win.exe

在 macOS 终端中,您可以通过文件访问设置判断rwxr-xr-x它是可执行的(这就是“x”的含义)。index-linuxindex-macos

文件结尾.exe特定于 windows,在 Linux 和 macOS 中不使用。这并不意味着index-linux并且index-macos不可执行。

您可以像任何其他二进制文件或脚本一样从终端运行它们:

$ ./index-macos
HELLO WORLD

(注意./在终端中运行时需要路径)

您也可以index-macos在 macOS Finder 中找到并双击它,这将打开一个打印“HELLO WORLD”的终端窗口。

于 2019-12-24T13:12:06.487 回答