angular打包(二):nw.js

时间:2023-01-29 21:04:09

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

的第一种方法,搞定。