1 npm build 把ng编译出dist
2 单独写一个package.json 放在dist文件夹里。
{
"name": "app",
"main": "index.html"
}
3 把dist文件夹放进 nwjs-sdk-v0.42.2-win-x64 把dist文件夹改名成package.nw
4 用enigmavirtualbox把整个nwjs-sdk-v0.42.2-win-x64 打包成一个exe。
------------注记------------------
用nw.js是打包成1个单机程序式的exe。 适合把ng这样的单页应用直接当单机程序用。
缺点:
1体积 大 打包300M;
2启动后耗内存: 一个小小的应用也要1G内存。5个进程,每个200M内存。
优点(和electron相比):
1 完全支持chrome 和nodejs 的全部api,比如打印预览。
2 不需要改写代码。 也不需要写main.js这样的配置文件
对于在上网不便的地方部署,还是nw.js比较方便。
但过程基本无坑。
但是稍微注意几个地方。 把dist文件夹 打包成zip 然后改名成app.nw 然后合并到exe这招,偶尔就是会失败。表现是:
把不打包的dist拖拽到nw.exe上 可以启动,但是 打包合并后,启动显示空的nw.js
这个奇葩问题,需要参考nw.js官网:http://docs.nwjs.io/en/latest/For%20Users/Package%20and%20Distribute/#package-your-app
的第一种方法,搞定。