是否存在存根方法或安装脚本或“安装向导”,它将下载所有node_modules依赖项,下载最新的nodejs二进制文件,设置环境等…或者我必须批量分发所有包装?那个目的有没有指南?
编辑:你可以安装node和npm,通过在命令行中运行npm install来下载你的依赖项(首先在你的package.json中声明它们)然后用户才能运行你的脚本.这是您在Node.js中进行开发或部署到开发服务器的方式.请参阅using npm.如果您正在使用shell脚本,则可以使用shell脚本自动执行此操作.
但是,在向最终用户分发程序时可能不是最佳方法. Linux用户习惯于包(例如.deb),Windows用户习惯使用.exe或安装向导.
这就是我推荐以下工具的原因.我还假设你的目标是Windows,因为这是一个类似unix的环境.
如果您需要单个文件(.exe),则为此目的制作pkg和nexe.开发人员使用这些Node.js工具将JavaScript代码编译为单个可执行二进制文件,以方便最终用户和Windows部署.生成的.exe文件非常轻,不需要在最终用户的计算机上安装节点.
Electron和electron-packager可以生成安装向导,但即使是最小的程序也会安装很多文件.您的程序将包含所有节点和webkit,这就是它产生大量安装的原因.
NSIS还可以创建一个设置向导,它很简单并且很常见(复制文件,运行shell脚本).
原始答案:
简短的回答是:不是真的.
你必须记住Javascript是并且一直被解释,所以直到最近从未编译成二进制,就像你可能使用其他语言一样.一些探索已经进行,但基本上你不会得到一个“良好实践”的答案.
对于一些有限的用例,可能有很长的答案:
>有一个新的新的pkg正是如此,它看起来很有希望.
>有一段时间有nexe,它适用于某些用例(也许是你的用户).然而,本机/编译模块仍然是一个问题.
> Electron可能适用于具有重要用户界面的完整应用程序,但它不轻或紧凑.
您可以随时使用browserify连接所有代码并使用您使用的模块进行uglify,然后使用类似NSIS的安装程序来设置节点和脚本.然而,本机模块仍然是一个问题.