打包与发布

快速开始

可以使用以下工具自动完成打包NW.js应用进行发布 .

或者可以使用以下步骤手动构建应用 .

准备应用

打包前 , 需要准备所有必要的文件 , 以下是需要检查的信息 , 不可缺少 .

!!! 警告 nodejs模块在一个平台正常可用不代表所有平台运行都没问题 . 例如 node-email-templates能够在Windows和Mac系统通过 npm install命令进行安装 . 此外 , 需要python环境 , Windows系统默认不安装 .

根据经验 , 为了确保不出问题 , 在想要运行应用的每个平台上安装相关的Nodejs模块 , 并进行打包 .

!!! 注 "文件名和路径" 在大多数Linux系统以及部分Mac OS X系统中 , 文件系统是大小写敏感的 . 既 test.jsTest.js是不同的文件 . 确保路径以及文件名使用正确 .

!!! 注 "Windows系统中的长路径" Windows系统中应用中使用的路径最大长度不能超过260个字符 . 如果过长 , 打包过程将会报错 . 该问题通常发生在使用低于3.0版本的NPM安装依赖包的过程 . 为了避免这个问题的发生 , 建议在根目录中构建引用 , 比如 C:\build\ .

准备NW.js

应用可以选择不同的NW.js构建方式 , NW.js提供多种构建方式以便满足不同的需求以及应用大小 . 选择适当的构建方式或者源码构建

应用重新分配NW.js包含的所有文件 , 除了SDK构建方式包含的 nwjc, payload以及 chromedriver .

打包引用

两种打包方式: 普通文件和ZIP文件

方式 1. 普通文件 (推荐)

Windows和Linux系统 , 可以将应用的文件放到NW.js目录下 , 确保 nw(或者 nw.exe)与 package.json在同级目录下 . 或者将应用文件放入名为 package.nw目录中 , 该目录与 nw(或者 nw.exe)在同级目录下 . 需要注意 , package.json需要在 package.nw目录中 .

Mac系统 , 将应用相关文件放入名为 app.nw中 , 同时将该文件添加到 nwjs.app/Contents/Resources/中 . 同样 , package.json需要在 app.nw中 .

推荐使用普通文件打包方式 .

方式 2. ZIP文件

你可以将应用相关文件打包到名为 package.nw的ZIP文件中 . Windows和Linux系统 , 将 package文件放入与 nw(或者 nw.exe)同级目录中 . Mac系统中 , 将 package.nw文件放入 nwjs.app/Contents/Resources/目录下 .

!!! 警告 "包过大或包中文件数过多引起的开始加载慢" 运行开始 , NW.js需要加压包内文件到临时目录 , 之后进行加载 . 包过大或包中文件过多会引起开始运行变慢 .

Windows和Linux系统 , 可以将ZIP文件和 nw(或者 nw.exe)进行合并为一个文件

Windows系统运行命令如下:

copy /b nw.exe+package.nw app.exe

Linux系统运行命令如下:

cat nw app.nw > app && chmod +x app 

系统特性

Windows

nw.exe图标替换工具 , 如Resource Hacker nw-builder node-winresourcer.

你可以创建一个安装程序完成应用文件的安装 , 如Windows Installer NSIS Inno Setup.

Linux

应用需要创建.desktop文件.

创建自解压安装脚本 , 可以使用shar makeself .

可以通过系统包管理工具发布应用 , 如 apt, yum, pacman等 , 请参考官方文档进行打包 .

Mac OS X

Mac OS X系统中 , 需要修改以下文件:

应用需要进行签名 . 参考应用签名及安装

参考

查看wiki获取更多应用打包工具 .