先总结:nw.js 真特么的。。。难用。。。文档,我得先百度才能看的稍微明白点文档。。。。。。!!!!!!我感觉我所有的前端能遇到的坑都踩了一遍,此文针对前后端分离项目,别的先不说

一、不需要在项目里安装nw.js 设置webpack 没什么用,它只是打开的时候嵌套在nw.js 那个壳里面实际不能调试,只能看下效果——如果发现有时候不能正常打开,别担心,杀掉任务管理器里的进程就可以正常打开,如果还不能。。。emmm……

二、去官网上看文档,英文好的话去看英文的吧,因为中文翻译的会遗漏一些东西,其实就是翻译的不好!

三、去官网下载你需要的版本,因为公司需支持xp系统,我是下载了一个最新版本和0.14.7,注意项目写好了之后 移到解压之后的nw.js版本里面来,否则你肯定调不到他的方法,安装依赖没用~~这个故事告诉了我,前后端写多了天天就想着安装依赖。nw不吃这一套

四、SDK版本可以用来调试

五、如果有跨域问题,url接口写完整就好了

六、合并nw.exe和app.nw 用命令行 copy /b nw.exe+app.nw app.exe  (这里注意nw.exe 和 app.nw 是有顺序的,我看见有些题主回复的很随意,我试了之后无效),合并之后app.exe文件就能直接双击运行,此时app.exe 不能移出使用,需要将整个项目压缩发给别人就能使用了(其实nw.exe app.nw 都可以删除的)

七、其实还要打一次包需要用Enigma Virtual Box,因为上次已经生成了一个app.exe。感觉这个更像是二次打包,我是这么理解的,本来以为上一步就能用了,这个打包可有可无,但是后面感觉这还是很重要的。起初是觉得文件太多,还比较大,可以打包成一个独立的exe给别人就行了,但是百度上说打包会有个nw.pak必要文件,我下了好几个版本,均没发现有这个文件的存在,这里我百度了无数遍,广大网友没有回复我的请求,我也是很无奈,然后无意中点到了一个博主说直接将所有除了打包后的app.exe文件,剩下的都拖Enigma Virtual Box,然后就会生成一个app_box.exe,这个文件移出去也可以使用,大小还是有一百多兆,网上还有说更小点的方法,我没试,心太累~~~~~,到目前为止,一个exe已经算是完结了

八、更换桌面图标,支持.exe .res .ico ,我孤陋寡闻 .exe 居然是图标???QAQ~~~转换图标需要特定的转换工具,否则会报out of memory或者一些什么乱七八糟不能replace的错,这里更换图标会用到reshacker_setup.exe。对了这个软件双击会重新安装,我不停的安装了好几次,发现我是不是中毒了,之后右击选择Open running ~~~~~ 就可以了。还有很重要的是!!在第六步的时候可以修改成功并且能正常运行,但是如果在第七步修改是可以成功的,但是window会报此应用不能运行。。。我哈哈

九、另外,我同事的电脑管家会报木马病毒,我发给几个同事试了,只有她的有问题,我万般无奈之下,联系了电脑管家的运营经理,他说帮我测试并没有拦截,可能是同事的环境问题,具体也没解决,这个木马在第六步的时候,我复制到别的文件夹里就直接kiss掉了,被杀毒软件沙雕了,所以电脑管家还是很牛掰的,感叹,但是经过第七步就顽强的活了下来,并且不再报木马

十、基本上最主要的问题我都罗列出来了,还有很多细碎的问题,有需要的可以给我留言,我要是遇到过,必定帮你解答

论nw.js的坑~~~感觉我所有的前端能遇到的坑都踩了一遍的更多相关文章

  1. NW.js 入坑指南

    NW.js是什么? NW.js 是基于 Chromium 和 Node.js 运行的, 以前也叫nodeWebkit.这就给了你使用HTML和JavaScript来制作桌面应用的可能.在应用里你可以直 ...

  2. 关于Nodejs开发桌面应用。NW.js 和 Electron 优缺点分析对比

    从开发角度来说,选择用 nw.js 还是 election ,区别其实不是很大.大部分工作还是在自己的 javascript 和 HTML 上.国内比较有名的,比如微信web开发工具.钉钉都是基于 n ...

  3. nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

    第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...

  4. NW.js 简介与使用

    简介 (1)以网络最流行的技术编写原生应用程序的新方法 (2)基于HTML5, CSS3, JS and WebGL而编写 (3)完全支持nodejs所有api及第三方模块 (4)可以使用DOM直接调 ...

  5. nw.js中用sqlite3

    前一段时间,nw.js 项目中想用一个本地数据,最后选择了sqlite3.选好之后就开始干吧,结果mmp,被坑了好久. nw.js官方文档也有调用node原生模块的API,但是照着文档那样配置,以为会 ...

  6. angular打包(二):nw.js

    1 npm build 把ng编译出dist 2 单独写一个package.json 放在dist文件夹里. { "name": "app", "ma ...

  7. NW.js桌面应用开发(一)

    NWjs中文网 Electron中文网 一些需要了解的历史与特性,其实就是 NW.js 和 Electron的争议,建议还是亲自阅读一下各自的官网说明 1.下载SDK版工具 从淘宝NPM镜像下载,速度 ...

  8. 使用NW.js封装微信公众号菜单编辑器为桌面应用

    开发微信公众号的朋友都会遇到一个常见的需求就是修改自定义菜单,如果每个人都去开发这个不经常使用的功能确实有点浪费时间.前段时间在github上找到一个仿企业号的菜单编辑界面,结合微信的C# SDK开发 ...

  9. 修改nw.js的exe文件使其请求管理员权限

    修改nw.js的exe文件使其请求管理员权限 默认情况下,nw.js发布的nw.exe文件请求的是普通权限,当我们的应用需要访问一些特殊目录或者注册表等,就需要程序启动的时候以管理员权限运行.那么此时 ...

随机推荐

  1. 关于Apache Commons-IO的使用

    commons-io是一款处理io流的工具,封装了很多处理io流和文件的方法,可以大大简化我们处理io流和操作文件的代码.从common-io的官方使用文档可以看出,它主要分为工具类.尾端类.行迭代器 ...

  2. POJ 3617 Best Cow Line 字典序最小

    #include<cstdio> #include<iostream> #include<algorithm> #include<queue> #inc ...

  3. VBA/VB6/VBS/VB.NET/C#/Python/PowerShell都能调用的API封装库

    API函数很强大,但是声明的时候比较繁琐. 我开发的封装库,包括窗口.键盘.鼠标.消息等常用功能.用户不需要添加API函数的声明,就可以用到API的功能. 在VBA.VB6的引用对话框中引用API.t ...

  4. fcntl()函数之非阻塞模型

    优点:设置标准输入为非阻塞(有数据则读 没有数据则立即返回),常用于网络通信以及轻量信息多并发中 步骤: 1.oldflag=fcntl(STDIN_FILENO,F_GETFL); 获取标准输入的文 ...

  5. maven-assembly-plugin 打包包含多余依赖问题一则

    有同事反馈自己maven-assembly-plugin打的包里面多了很多mvn dependency:tree中没有的jar. 我当时只是试着把他的maven-assembly-plugin更新到了 ...

  6. 数位dp——BZOJ1026 Windy数

    1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memory Limit: 162 MB Description windy定义了一种windy数.不含前导零且相邻 ...

  7. SpringMVC源码剖析1——执行流程

    SpringMVC源码剖析1——执行流程 00.SpringMVC执行流程file:///C:/Users/WANGGA~1/AppData/Local/Temp/enhtmlclip/Image.p ...

  8. JAVA线程笔记。

    继承thread类 并覆写thread类中的run()方法. class 类名称 extents Thread{public void run(){}}实现Runble接口的run方法 线程的star ...

  9. JS调用免费接口根据ip查询位置

    免费接口如下: 新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 新浪多地域测试方法:http://in ...

  10. Nginx笔记总结十三:sub_filter内容替换

    Nginx变异安装加上参数 --with-http_sub_module 配置文件: location ~* ^/portalproxy/([-]*)/portal(.*)$ { #sub_filte ...