I am reading the instructions for how to package a NW.js app并且措辞混乱,毫无意义。我强调了矛盾的词沙拉部分。
创建一个zip文件(内置于XP,Vista和7中)复制全部 将您的文件放入zip文件,保留目录结构并制作 确保package.json文件位于根目录中(如果你做的话) 一个zip文件包含一个包含你的东西的文件夹,然后它不是 开始工作)将文件扩展名从.zip重命名为.nw。默认情况下, 文件扩展名可能被隐藏。你需要(按alt),转到文件夹 选项并取消选中"隐藏已知文件类型的扩展名"能够 重命名拉链。
是否有一个简单的逐步指令集来说明如何做到这一点? 我在线查看,无法找到任何Windows操作系统。目标是创建一个可执行文件(.exe),其中隐藏了用户隐藏的应用程序内部。
我之前在Mac上做过但从未在Windows上做过。编写官方文档的方式太过令人困惑,而且我无法理解。
答案 0 :(得分:8)
为此,您可以使用https://github.com/nwjs/nw-builder
让您通过cli为mac,win和linux构建NW.js应用程序。它会 下载最新版本的预建二进制文件,解压缩, 创建一个release文件夹,为指定创建app.nw文件 目录并复制它所属的app.nw文件。
首先,使用以下命令全局安装node-webkit-builder模块:
$ npm install node-webkit-builder -g
安装模块后,您可以按如下方式运行nwbuild命令:
$ nwbuild [options] [path]
路径是项目文件夹的路径,而选项是以下代码中描述的选项:
-p Operating System to build ['osx32', 'osx64', 'win32', 'win64']
-v NW.js version [default: "latest"]
-r Runs NW.js project [default: false]
-o The path of the output folder [default: "./build"]
-f Force download of node-webkit [default: false]
--quiet Disables logging
一些例子:
运行项目(在当前平台上):
$ nwbuild -v [version of your nw.js] -r /path/to/the/project
为Win32或/和Win64平台构建项目(可执行文件(.exe)):
$ nwbuild -v [version of your nw.js] -p win32,win64 /path/to/the/project
如果你的cmd当前在项目文件夹中打开,那么instread会写满 您可以使用点符号
来创建项目的路径
答案 1 :(得分:1)
欢迎您使用我的批处理文件自动执行所有操作。它编译,更新要包含的所有文件的时间戳,并运行您的应用程序进行测试。
在XP或W7下完美运作。
注意:只是搜索&替换" SourceDir"," DestinDir"和" ProgName"的所有实例根据需要。
$ docker pull scrapinghub/splash
$ docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash
答案 2 :(得分:0)
nw-builder在02/July/2016 release之前不支持NW.js最新版本(版本> 0.12),它现在支持,但仍处于alpha / beta状态。
您可以尝试使用nwjs-builder,简单而强大(通过withFFmpeg
选项使用ffmpeg预建支持),您可以在命令行中使用,如果您想将其用作模块,则可以作为模块使用并使用(例如)使用gulp
自动构建,您可以执行以下操作:
var gulp = require('gulp'),
glp = require('gulp-load-plugins')(),
del = require('del'),
nwb = require('nwjs-builder'),
argv = require('yargs').alias('p', 'platforms').argv,
paths = {
build: './build',
src: './src',
images: './src/images'
},
detectCurrentPlatform = function () {
switch (process.platform) {
case 'darwin':
return process.arch === 'x64' ? 'osx64' : 'osx32';
case 'win32':
return (process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432')) ? 'win64' : 'win32';
case 'linux':
return process.arch === 'x64' ? 'linux64' : 'linux32';
}
};
gulp.task('build', ['clean:build'], function () {
return new Promise(function (resolve, reject) {
nwb.commands.nwbuild(paths.src, {
version: '0.15.4',
platforms: argv.p ? argv.p : detectCurrentPlatform(),
withFFmpeg: true,
production: true,
macIcns: paths.images + '/icon.icns',
winIco: paths.images + '/icon.ico',
sideBySide: false,
//outputFormat: 'ZIP',
outputDir: paths.build
}, function (err) {
if (err) {
reject(err);
}
return resolve();
});
});
});
gulp.task('clean:build', function () {
return gulp.src(paths.build, {
read: false
}).pipe(glp.clean());
});
清单中所需的依赖项(调整所需的版本):
"devDependencies": {
"del": "^2.2.1",
"gulp": "^3.9.1",
"gulp-clean": "^0.3.2",
"gulp-load-plugins": "^1.2.4",
"nwjs-builder": "latest",
"yargs": "^4.7.1"
}
您可以在主GitHub存储库上获得更多关于use和args的文档。