参考教程: https://ruby-china.org/topics/30339 1.下载nw sdk $ wget -c http://dl.nwjs.io/v0.15.3/nwjs-sdk-v0.15.3 -linux-x64.tar.gz 2.检查文件nwjs-sdk-v0.15.3-linux-x64.tar.gz是否下载好了 $ ls 3.解压nw sdk包 $ tar -zxvf nwjs-sdk-v0.15.3 -linux-x64.tar.gz 4.将微信开发者工具package.nw拷贝到nwjs-sdk-v0.15.3-linux-x64 5.进入到nw sdk 文件夹 $ cd nwjs-sdk-v0.15.3
1、下载nwjs 下载nwjs(http://nwjs.io/)的SDK。 2、将微信web开发者工具拷贝到nwjs 将在window系统下安装的微信web开发者工具文件夹中的package.nw、icon.ico、* 微信web开发者工具.exe拷贝到nwjs sdk解压后的文件夹内 * 解压 微信web开发者工具.exe,将解压后的文件夹内的文件移动到nwjs sdk解压后的文件夹内。 3、修改代码 进入到nwjs文件夹,在终端内运行 $ .
win) {}); index.html <html><head> <meta charset="UTF-8"> <title>Document</title></head><body> Hello NWJS /path/to/nw 是 NW.js 的二进制运行文件; 在Windows上是nw.exe,在Linux上是nw,而在Mac则是nwjs.app/Contents/MacOS/nwjs Linux和Mac 可能需要sudo提升运行权限 例如mac上用如下方式启动:sudo ~/nwjs/nwjs.app/Contents/MacOS/nwjs . ? thread-2099005-1-1.html windows安装包参考 http://www.aichengxu.com/diannao/4906106.htm ---- 参考资料 http://docs.nwjs.io /en/latest/For Users/Getting Started/ http://docs.nwjs.io/en/latest/For Users/Package and Distribute/
参考教程: https://ruby-china.org/topics/30339 1.下载nw sdk $ wget -c http://dl.nwjs.io/v0.15.3/nwjs-sdk-v0.15.3 -linux-x64.tar.gz 2.检查文件nwjs-sdk-v0.15.3-linux-x64.tar.gz是否下载好了 $ ls 3.解压nw sdk包 $ tar -zxvf nwjs-sdk-v0.15.3 -linux-x64.tar.gz 4.将微信开发者工具package.nw拷贝到nwjs-sdk-v0.15.3-linux-x64 5.进入到nw sdk 文件夹 $ cd nwjs-sdk-v0.15.3
开发工具 小程序的 javascript 代码运行在 nwjs 中。nwjs 是什么鬼呢? 微信小程序开发工具就是使用 nwjs 开发的。 Electron vs nwjs 这两个平台有什么区别?为什么微信选择 nwjs 呢?我们不妨猜一猜。 从应用角度来讲: 打包后的文件大小:Electron 打包后文件会比 nwjs 小不少。一个 18M 的程序,使用 Electron 打包后是 117M,而使用 nwjs 打包后的程序是 220M。 而据说 nwjs 的开发文档有些都没有及时更新。 应用程序启动时间:Electron 会稍微快一点。没有亲测,评价来源参考文档。 从这个分析猜测,微信选择 nwjs 的原因可能是出于代码保护。
monaco-editor NWjs手搓,IDE Core用Monaco 支付宝小程序开发工具 Electron vscode editor Electron手搓,IDE Core用扒来的VS Code Electron 背景 NWjs Intel上海开源技术中心孵化的项目(最初叫node-webkit),允许在Node环境创建Webkit浏览器窗体。 区别和限制: 平台支持:Electron不支持XP和Vista,NWjs支持 进程模型:NWjs是单进程模型,共享堆内存;Electron是多进程模型,靠管道IPC通信 源码保护:NWjs支持源码保护 (把源码编译成V8快照),Electron不支持 自动更新:Electron内建支持,NWjs社区模块支持 开发体验:Electron文档比NWjs更优秀一些,受欢迎程度上Electron 55.6k star; NWjs 33.1k star 其中,比较重要的是平台支持与源码保护方面的差异 应用场景 选用NWjs的原因: 平台要求支持XP或Vista 看重单进程模型共享数据的便捷,多窗体共享状态更容易一些
1、下载nw.jshttps://nwjs.io/最好下载sdk版本。2、解压打开安装包下载完之后,解压打开图中的app文件夹是我自己创建的,你也需要自己创建一个,里面放你项目文件。 将app.nw从app中粘贴到根目录中,然后 打开命令行工具合并成exe文件:copy /b “E:\myweb\maomin\nwjs\nw.exe”+“E:\myweb\maomin\nwjs\app.nw ” “E:\myweb\maomin\nwjs\app.exe”这里只是一个例子,按自己的存放的路径来。
1、下载nw.js https://nwjs.io/ 最好下载sdk版本。 2、解压打开安装包 下载完之后,解压打开 图中的app文件夹是我自己创建的,你也需要自己创建一个,里面放你项目文件。 将app.nw从app中粘贴到根目录中,然后 打开命令行工具合并成exe文件: copy /b "E:\myweb\maomin\nwjs\nw.exe"+"E:\myweb\maomin\nwjs\app.nw " "E:\myweb\maomin\nwjs\app.exe" 这里只是一个例子,按自己的存放的路径来。
/tools/nwjs-sdk-v0.17.3-osx-x64/nwjs.app/Contents/MacOS/nwjs "src" & 但是我得到了这个输出: $ sh . /tools/nwjs-sdk-v0.17.3-osx-x64/nwjs.app/Contents/MacOS/nwjs "src" &^M 在这种情况下,回车(插入符号中的^M或C转义符号中的\r)不会被视为空白
1、下载nw.js https://nwjs.io/ 最好下载sdk版本。 2、解压打开安装包 下载完之后,解压打开 图中的「app文件夹」是我自己创建的,你也需要自己创建一个,里面放你项目文件。 将app.nw从app中粘贴到根目录中,然后 打开命令行工具合并成exe文件: copy /b "E:\myweb\maomin\nwjs\nw.exe"+"E:\myweb\maomin\nwjs\app.nw " "E:\myweb\maomin\nwjs\app.exe" 这里只是一个例子,按自己的存放的路径来。
从参考文章1里发现有三种方法:HTMLRunExe 工具、hta文件、nwjs工具。 我只尝试过其中的 hta 和 nwjs,并且最终采用了nwjs工具。所以此处只比较下这两种方法。 2 nw.js工具 nwjs官网下载 nw.js的github地址 nw.js的使用流程: 测试可用 解压下载包后,双击nw.exe,可以正常启动,则说明可以使用node-webkit。 至此,已经成功了大半部分,但是这个nw.exe只能在当前环境指向,换到其他目录或者其他环境就不行了,因为其他目录就找不到nwjs包内依赖的文件。(→_→除非你就整个文件夹压缩下,随身带着使用。) 在官网下载Enigma Virtual Box,然后傻瓜式安装下; (1)导入项目exe文件 (2)选择输出路径 (3)添加default文件夹 (4)添加nwjs文件 (5)点击process
与上一种方法不同,该方法不发出任何关闭信号,程序直接退出 2.5 注册系统层级的快捷键 利用App.registerGlobalHotKey()方法,并结合 Shortcut API(http://docs.nwjs.io 可以用 App.unregisterGlobalHotKey(shortcut)解除注册 2.6 完整的App文档 [文档地址](http://docs.nwjs.io/en/latest/References callback]) 方法 var win = nw.Window.open('other.html', { // options中的选项和manifest中 [相关参数](http://docs.nwjs.io , win.toggleKioskMode() 对应的事件仍是 'enter-fullscreen' 和 'leave-fullscreen' 也可以在在manifest配置(http://docs.nwjs.io x = newScreen.work_area.width - currWin.width; currWin.moveTo(x, y); }); [完整的文档地址](http://docs.nwjs.io
选个可行的开发方案 第一次接触掌机,对其技术还是有点不大熟悉,但GameShell的系统里内置了一个编译好的ARM版本NWJS执行包,使用NWJS,理论上我们就能在GameShell上运行任意的Web项目 虽然官方只说支持Phaser.io,但我们认为既然支持nwjs,那么我们猜想我们熟悉的Cocos Creator应该也能支持,所以我尝试把以往用Cocos Creator开发的游戏移植过去,发现真能运行 于是我们认为【Cocos Creator结合NWJS的方案】是我们这次极限开发的首选方案。
NW.js 官网https://nwjs.io/ 1.下载适合当前版本的js 【这里下载的SDK版本,方便后续调试】 2.解压到本地 3.构建自己的project index.html app.nw文件移动到和nw.exe同级目录下,然后执行命令copy /b nw.exe+app.nw app.exe,这时是可以直接执行app.exe的,但换到其它目录就不可以执行了,因为换到其它目录找不到nwjs
缘起 之前我用nwjs做过一个博客园文章编辑器的客户端 发了好几个版本,最后一个版本到5.0.0了 其实第一个版本已经很好了,不知足,后来自己又做了兼容markdown的,结果用来用去,发现不是自己想要的 工程简述 他src目录下,有两个子目录,一个是main;一个是renderer 之所以这样分目录,跟electron的工作原理有关系 electron与nwjs不同, nwjs把nodejs里的v8和chrome /dist/electron/main.js" 这是electron程序启动的入口, 这里的main.js就是index.js和index.dev.js合并打包出来的 注:nwjs入口程序是一个.html 在nwjs环境里,我们真的就是用的一个iframe,代码如下: var iframeTag = 'nwUserAgent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit url]" nwdisable nwfaketop '+bky.iframeTag+'></iframe>'; 这里涉及到三个特殊的属性 nwdisable: 是为了防止这个iframe加载的页面去调用nwjs
image nw的安装与使用 下载安装包安装(建议大家下载带有开发包的 便于调试) 官网下载nw.app的压缩包 解压以后即可使用 附官网地址: https://github.com/nwjs 松集成到您的构建过程中,它将为Linux,Windows和OSX下载nwjs 32 / 64bit,并从给定的源目录为所有3个平台构建软件包。 需要从社区中下载对应版本的libffmpeg.dll文件 然后将原来的替换一下即可解决 社区地址: https://github.com/iteufel/nwjs-ffmpeg-prebuilt/ releases 目标文件地址: /Users/baidu/Desktop/nwjs-sdk-v0.31.1-osx-x64/nwjs.app/Contents/Versions/67.0.3396.79 如果不能打开 或没反应 有可能是大家下载的版本 不是带开发工具的 nw的应用 nwjs——你值得拥有!
https://nwjs.io/ 下载稳定版压缩包, 目前版本nwjs-v0.39.3-win-x64.zip. 解压后,把之前下载的ball.html移动到这个解压后的目录。
这就涉及到这个编辑器的实现原理和方式了,它本身也是基于WEB技术体系实现的,nwjs+react,nwjs是什么:简单是说就是node+webkit,node提供给我们本地api能力,而webkit提供给我们 );,// data里指定 webviewID 接收消息:window.addEventListener(‘message’, messageHandler); // 消息处理并分发,同样支持调用nwjs
整个小程序开发生态主要可以分为两部分: 桌面 nwjs 的微信开发者工具(PC 端) 移动 APP 的正式运行环境 一开始的考虑是使用双线程模型来解决安全和可控性问题。 tl;dr 开发者工具 通信体系 (只能采用双向通信) 即,所有指令都是通过 appservice <=> nwjs 中间层 <=> webview Native 端运行的通信体系: 小程序基础通信:双向通信 开发者工具,主要是运行在 PC 端,它内部是使用 nwjs 来做,不过为了更好的理解,这里,直接按照 nwjs 的大致技术来讲。 开发者工具使用的架构是 基于 nwjs 来管理一个 webviewPool,通过 webviewPool 中,实现 appservice_webview 和 content_webview。
在IOS端,使用的是JavaScriptCore、在Android端,使用的是X5内核、在IDE端,使用的是nwjs。