??xml version="1.0" encoding="utf-8" standalone="yes"?> NW.js是基?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">?/a>?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">Node.js?/a>。它允许您直接从览器调用Node.js代码和模块,q在您的应用E序中用Web技术。此外,您可以轻村֜Web应用E序打包到本机应用程序?/p>
您可以从官方|站http://nwjs.io获取最新的二进制文件。或者你也可以徏立NW.js按照中的说明二进制文件自?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">NW.js?br /> 提示Q?/p> 您选择SDK构徏风格来开发您的应用程序,q您能够用DevTools调试您的应用E序。有?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">构徏版本之间的差异,请参?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">构徏版本?br /> q个基本CZ演示如何~写一个NW.js应用E序?/p> 步骤1.创徏 使用JS文g作ؓ?/p> 你可以把JS文g讄?code style="box-sizing: border-box; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; white-space: pre; max-width: 100%; border: 1px solid rgba(0, 0, 0, 0.2); padding: 0px 5px; overflow-x: auto; word-wrap: break-word; background: rgba(255, 255, 255, 0.701961);">"main"字段Q如 步骤2.创徏 q是正常的HTML文g。您可以使用最新浏览器支持的Q何Web技术?/p> 步骤3.q行应用E序 在Windows上拖?/p> 在Windows上,您可以拖?code style="box-sizing: border-box; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; white-space: pre; max-width: 100%; border: 1px solid rgba(0, 0, 0, 0.2); padding: 0px 5px; overflow-x: auto; word-wrap: break-word; background: rgba(255, 255, 255, 0.701961);">folder containing package.json?code style="box-sizing: border-box; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; white-space: pre; max-width: 100%; border: 1px solid rgba(0, 0, 0, 0.2); padding: 0px 5px; overflow-x: auto; word-wrap: break-word; background: rgba(255, 255, 255, 0.701961);">nw.exe以运行应用程序?/p> 所有NW.js API都在 此示例显C如何在NW.js应用E序中创建本Z下文菜单。您可以 ...然后q行您的应用E序Q?br style="box-sizing: border-box;" /> requireQ?nw.gui'Q?/p> 你可以直接从DOM调用node.js和模块。所以它使用nw.js~写应用E序的无限可能?/p> 此示例显C如何?code style="box-sizing: border-box; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; white-space: pre; max-width: 100%; border: 1px solid #e1e4e5; padding: 0px 5px; color: #e74c3c; overflow-x: auto; word-wrap: break-word; background: #ffffff;">osNode.js的模块查询操作系l^台。只需创徏 您还可以使用?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;"> 本地节点模块 在运行时构徏的Native Node模块 请参?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">使用DevTools调试以调试NW.js应用E序?/p> 请参?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">打包和分?/a>Q以便在生中打包和重新分发应用E序?/p> 有关可能遇到?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">问题Q请参阅常见问题解答?/p> 如果您要从NW.js 0.12或旧版本q移应用E序Q请参阅q移说明?/p> ?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">NW.js wiki上有很多有用的信息。维Z是对所有h开攄Q你鼓励你在wiki上发布你的知识?/p> h告错误或提交要求?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">GitHub使NW.js更强大?/p>NW.js能做什么?
获取NW.js
~写NW.js应用E序
CZ1 - Hello World
package.json
Q?/p>{ “name” Q?/span> “helloworld” Q?/span> “main” Q?/span> “index.html” }
package.json
是您的应用程序中的清单文件。它是以JSON格式~写的。该main
字段昄?code style="box-sizing: border-box; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; white-space: pre; max-width: 100%; border: 1px solid #e1e4e5; padding: 0px 5px; color: #e74c3c; overflow-x: auto; word-wrap: break-word; background: #ffffff;">"index.html"在本CZ中由NW.js打开的第一(如果引用了HTML文gQ。该name
字段是在NW.js应用E序中用的唯一名称。有兌l信息,请参?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">清单格式?/p>"main.js"
。然后,JS文g在开始时加蝲到后台页面,默认情况下不打开MH口。通常你可以做一些初始化Q然后手动打开H口。例如,// initialize your app // and ... nw ?/span>H口?/span>open Q?/span>'index.html' Q?/span> {}Q?/span> function Q?/span>win Q?/span> {}Q?
index.html
Q?/p><QDOCTYPE html> < html > < head > < title > Hello WorldQ?span style="box-sizing: border-box;"></ title > </ head > < body > < h1 > Hello WorldQ?span style="box-sizing: border-box;"></ h1 > </ body > </ html >
cd / path / to / your / app / path / to / nw?
/path/to/nw
是NW.js的二q制文g。在Windows上,它的nw.exe
; 在Linux上,它的nw
; 在MacQ它?code style="box-sizing: border-box; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; white-space: pre; max-width: 100%; border: 1px solid #e1e4e5; padding: 0px 5px; color: #e74c3c; overflow-x: auto; word-wrap: break-word; background: #ffffff;">nwjs.app/Contents/MacOS/nwjs?/p> CZ2 - 使用NW.js API
nw
对象中全局加蝲Q可以直接在JavaScript文g中用。有x持的API的完整列表,请参?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">API参?/a>?/p>index.html
使用以下内容创徏Q?br style="box-sizing: border-box;" /><QDOCTYPE html> < html > < head > < title >上下文菜?span style="box-sizing: border-box;"></ title > </ head > < body style = “widthQ?00Q? heightQ?00Q?/span>> < p > “右键单击”昄上下文菜单?span style="box-sizing: border-box;"></ p > < script > //创徏一个空的上下文菜单 var menu = new nw ?/span>Menu Q); //d一些项目与标签 菜单?/span>q加Q?/span>?/span> NW ?/span>菜单?/span>Q{ 标签Q?/span> “目A” Q?/span> 单击Q?/span> 函数Q){ 警报Q?/span>'你点M“目A” Q? } }Q); 菜单?/span>q加Q?/span>?/span> NW ?/span>菜单?/span>Q{ 标签Q?/span> '目B' }Q); 菜单?/span>q加Q?/span>?/span> NW ?/span>菜单?/span>Q{ cdQ?/span> “分隔W?#8221; }Q); 菜单?/span>q加Q?/span>?/span> NW ?/span>菜单?/span>Q{ 标签Q?/span> '目C' }Q); // Hooks“contextmenu”事g 文档?/span>w体?/span>的addEventListener Q?/span>'文本菜单' Q?/span> 函数Q?/span>EV Q?/span> { //防止昄默认的上下文菜单 EV ?/span>的preventDefault Q); //弹出的地方,你点LZ下文菜单?/span> 的菜?/span>?/span>弹出Q?/span>EV ?/span>?#175;x Q?/span> EV ?/span>ÿ Q? return false ; }Q?/span> false Q? </ script > </ body > </ html >
cd / path / to / your / app / path / to / nw?
require('nw.gui')
q支持用传l的加蝲NW.js API的方式。它q回相同?code style="box-sizing: border-box; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; white-space: pre; max-width: 100%; border: 1px solid rgba(0, 0, 0, 0.2); padding: 0px 5px; overflow-x: auto; word-wrap: break-word; background: rgba(255, 255, 255, 0.701961);">nw对象?/p> ? - 使用Node.js API
index.html
h以下内容的文Ӟq用NW.jsq行它?/p><QDOCTYPE HTML> < HTML > < ?/span>> < 标题>我的操作pȝq_</ 标题> </ ?/span>> < w体> < 脚本> //使用Node.js的获取系l^台的 变种 OS = 要求Q?/span>“OS” Q? 文档?/span>?/span>Q?/span>“您正在运行的' Q?/span> 操作pȝQ?/span>q_Q)Q? </ script > </ body > </ html >
npm
NW.js.安装的模块?/p>npm install
与NW.js ABI不兼宏V要使用它们Q你必须用源代码重徏?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">nw-gyp
。有兌l信息,请参?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">使用本机节点模块?/p> 下一步是什?/h2>
获得帮助
]]>
]]>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
useBodyEncodingForURI="true"
URIEncoding="UTF-8"
/>