如何利用node-webkit将一个用express写的web应用打包成一个桌面应用
发布于 9 年前 作者 fengliner 6430 次浏览 最后一次编辑是 8 年前 来自 问答

最近在写一个项目,要求是web版和桌面版都要做,web版用express,桌面版打算用node-webkit(现已更名为nw)

对node-webkit不太熟悉,想问一下在写express的时候需要注意什么,能让写出来的web应用方便地迁移到node-webkit上,尽量少一些坑

请大神们赐教

13 回复

看过下NW,界面貌似就是一个浏览器砍掉所有按钮,但偏偏剩下条地址栏。所以没有继续研究了。资料也很难找,估计玩这个的人也不多,毕竟那界面……跟桌面应用差的不是一星半点。

桌面版要离线使用吗? 如果是SPA而且只给单机提供服务就直接在页面上运行后端服务. 如果是传统类型的后台渲染或者要给局域网内提供服务,就把后端服务独立出来运行. 其它前端的东西就跟浏览器几乎一样了

@klesh 地址栏可以隐藏掉的,nw关注的人很多啊,所以尝试下

@fengliner 如果有坑. 下面可能算是 1 如果用到C/C++扩展的话,需要用nw-gyp rebuild 一下 , 可能会有个别模块通过不了,如果通过不了,可以试试换一个nw版本 2 windows下的桌面提醒可能会有小问题.具体问题我忘记了,貌似在某种情况下,桌面提醒出来然后过一会自己close了(并不是认为设定timeout). 好像是因为它是用Windows托盘冒泡消息接口实现.现在不知道有没有改实现方式

自豪的采用 NWJS

Teambition 的客户端可以看下效果

@William17 我在mac下打包了一个.app,双击打开却提示“无法打开该应用,因为该应用不被PowerPc支持”
打包过程参考的https://github.com/nwjs/nw.js/wiki/How-to-package-and-distribute-your-apps
nw.js版本是最新的0.12.3,OSX是10.10.1
google了一下,应用不被PowerPc支持,是由于苹果之前的处理器是powerpc,后来改用intel后,导致以前的程序没法运行
我用最新的nw打包的应用怎么会有这个提示呢?

@Dongss 嗯,看了,谢谢

第一步安装yeoman, npm install -g yeoman 第二步,npm install -g generator-node-webkit 第三步,yo node-webkit
app名称,描述,github用户名,是否下载最新版node-webkit, 选择支持平台(空格选择),是否安装例子。。。 最后一步,也就编译了grunt dist-win(编译window版本其他版本dist-mac,dist-linux), 要不这样,你直接输入命令yo update your 然后就yo node-webkit呗

1年前玩的,现在应该也跑得动,要是有坑,请自己跳出来,我抛个砖

@nunnly 好,多谢

@fengliner 这个我也不太清楚.或者你可以试试他们推荐的打包工具.例如nw-builder

https://github.com/ystyle/PG.js

我只来推荐个工具,用来生成nw.js的package.json的

因为nw.js的那么多参数也记不住啊。

应用本身也是用nw.js + angular.js + bootstrap 做的

回到顶部