锘??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>銆傚畠鍏佽鎮(zhèn)ㄧ洿鎺ヤ粠嫻忚鍣ㄨ皟鐢∟ode.js浠g爜鍜屾ā鍧楋紝騫跺湪鎮(zhèn)ㄧ殑搴旂敤紼嬪簭涓嬌鐢╓eb鎶鏈傛澶栵紝鎮(zhèn)ㄥ彲浠ヨ交鏉懼湴灝哤eb搴旂敤紼嬪簭鎵撳寘鍒版湰鏈哄簲鐢ㄧ▼搴忋?/p>
鎮(zhèn)ㄥ彲浠ヤ粠瀹樻柟緗戠珯http://nwjs.io鑾峰彇鏈鏂扮殑浜岃繘鍒舵枃浠躲傛垨鑰呬綘涔熷彲浠ュ緩绔婲W.js鎸夌収涓殑璇存槑浜岃繘鍒舵枃浠惰嚜琛?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">寤鴻NW.js銆?br /> 鎻愮ず錛?/p> 寤鴻鎮(zhèn)ㄩ夋嫨SDK鏋勫緩椋庢牸鏉ュ紑鍙戞?zhèn)ㄧ殑搴旂敤绋嬪簭锛寴q欎嬌鎮(zhèn)ㄨ兘澶熶嬌鐢―evTools璋冭瘯鎮(zhèn)ㄧ殑搴旂敤紼嬪簭銆傛湁鍏?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">鏋勫緩鐗堟湰涔嬮棿鐨勫樊寮傦紝璇峰弬闃?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">鏋勫緩鐗堟湰銆?br /> 榪欎釜鍩烘湰紺轟緥婕旂ず濡備綍緙栧啓涓涓狽W.js搴旂敤紼嬪簭銆?/p> 姝ラ1.鍒涘緩 浣跨敤JS鏂囦歡浣滀負涓?/p> 浣犲彲浠ユ妸JS鏂囦歡璁劇疆涓?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"瀛楁錛屽 姝ラ2.鍒涘緩 榪欐槸姝e父鐨凥TML鏂囦歡銆傛?zhèn)ㄥ彲浠ヤ娇鐢ㄦ渶鏂版祻瑙堝櫒鏀寔鐨勪換浣昗eb鎶鏈?/p> 姝ラ3.榪愯搴旂敤紼嬪簭 鍦╓indows涓婃嫋鏀?/p> 鍦╓indows涓婏紝鎮(zhèn)ㄥ彲浠ユ嫋鍔?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> 鎵鏈塏W.js API閮藉湪 姝ょず渚嬫樉紺哄浣曞湪NW.js搴旂敤紼嬪簭涓垱寤烘湰鏈轟笂涓嬫枃鑿滃崟銆傛?zhèn)ㄥ彲浠?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浣跨敤浠ヤ笅鍐呭鍒涘緩錛?br style="box-sizing: border-box;" /> ...鐒跺悗榪愯鎮(zhèn)ㄧ殑搴旂敤紼嬪簭錛?br style="box-sizing: border-box;" /> require錛?nw.gui'錛?/p> 浣犲彲浠ョ洿鎺ヤ粠DOM璋冪敤node.js鍜屾ā鍧椼傛墍浠ュ畠浣跨敤nw.js緙栧啓搴旂敤紼嬪簭鐨勬棤闄愬彲鑳姐?/p> 姝ょず渚嬫樉紺哄浣曚嬌鐢?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鐨勬ā鍧楁煡璇㈡搷浣滅郴緇熷鉤鍙般傚彧闇鍒涘緩 鎮(zhèn)ㄨ繕鍙互浣跨敤鐢?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;"> 鏈湴鑺傜偣妯″潡 鍦ㄨ繍琛屾椂鏋勫緩鐨凬ative Node妯″潡 璇峰弬闃?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">浣跨敤DevTools璋冭瘯浠ヨ皟璇昇W.js搴旂敤紼嬪簭銆?/p> 璇峰弬闃?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">鎵撳寘鍜屽垎鍙?/a>錛屼互渚垮湪鐢熶駭涓墦鍖呭拰閲嶆柊鍒嗗彂搴旂敤紼嬪簭銆?/p> 鏈夊叧鍙兘閬囧埌鐨?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">闂錛岃鍙傞槄甯歌闂瑙g瓟銆?/p> 濡傛灉鎮(zhèn)ㄨ浠嶯W.js 0.12鎴栨棫鐗堟湰榪佺Щ搴旂敤紼嬪簭錛岃鍙傞槄榪佺Щ璇存槑銆?/p> 鍦?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">NW.js wiki涓婃湁寰堝鏈夌敤鐨勪俊鎭傜淮鍩轟篃鏄鎵鏈変漢寮鏀劇殑錛屼綘榧撳姳浣犲湪wiki涓婂彂甯冧綘鐨勭煡璇嗐?/p> 鎮(zhèn)ㄤ篃鍙互鍦℅oogle緹ょ粍鐨勯偖浠舵竻鍗?/a>鎴朑itter涓婄殑鍗蟲椂閫氳涓彁鍑?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">闂銆?/p> 璇鋒姤鍛婇敊璇垨鎻愪氦瑕佹眰鍦?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">GitHub浣縉W.js鏇村己澶с?/p>NW.js鑳藉仛浠涔堬紵
鑾峰彇NW.js
緙栧啓NW.js搴旂敤紼嬪簭
紺轟緥1 - Hello World
package.json
錛?/p>{ “name” 錛?/span> “helloworld” 錛?/span> “main” 錛?/span> “index.html” }
package.json
鏄?zhèn)ㄧ殑搴旂敤绋嬪簭涓殑娓呭崟鏂囦欢銆傚畠鏄互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"鍦ㄦ湰紺轟緥涓敱NW.js鎵撳紑鐨勭涓欏碉紙濡傛灉寮曠敤浜咹TML鏂囦歡錛夈傝name
瀛楁鏄湪NW.js搴旂敤紼嬪簭涓嬌鐢ㄧ殑鍞竴鍚嶇О銆傛湁鍏寵緇嗕俊鎭紝璇峰弬瑙?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">娓呭崟鏍煎紡銆?/p>"main.js"
銆傜劧鍚庯紝JS鏂囦歡灝嗗湪寮濮嬫椂鍔犺澆鍒板悗鍙伴〉闈紝榛樿鎯呭喌涓嬩笉鎵撳紑浠諱綍紿楀彛銆傞氬父浣犲彲浠ュ仛涓浜涘垵濮嬪寲錛岀劧鍚庢墜鍔ㄦ墦寮紿楀彛銆備緥濡傦紝// initialize your app // and ... nw 銆?/span>紿楀彛銆?/span>open 錛?/span>'index.html' 錛?/span> {}錛?/span> function 錛?/span>win 錛?/span> {}錛?
index.html
錛?/p><錛丏OCTYPE html> < html > < head > < title > Hello World錛?span style="box-sizing: border-box;"></ title > </ head > < body > < h1 > Hello World錛?span style="box-sizing: border-box;"></ h1 > </ body > </ html >
cd / path / to / your / app / path / to / nw銆?
/path/to/nw
鏄疦W.js鐨勪簩榪涘埗鏂囦歡銆傚湪Windows涓婏紝瀹冪殑nw.exe
; 鍦↙inux涓婏紝瀹冪殑nw
; 鍦∕ac錛屽畠鐨?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> 紺轟緥2 - 浣跨敤NW.js API
nw
瀵硅薄涓叏灞鍔犺澆錛屽彲浠ョ洿鎺ュ湪JavaScript鏂囦歡涓嬌鐢ㄣ傛湁鍏蟲敮鎸佺殑API鐨勫畬鏁村垪琛紝璇峰弬闃?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">API鍙傝?/a>銆?/p><錛丏OCTYPE html> < html > < head > < title >涓婁笅鏂囪彍鍗?span style="box-sizing: border-box;"></ title > </ head > < body style = “width錛?00錛? height錛?00錛?/span>> < p > “鍙抽敭鍗曞嚮”鏄劇ず涓婁笅鏂囪彍鍗曘?span style="box-sizing: border-box;"></ p > < script > //鍒涘緩涓涓┖鐨勪笂涓嬫枃鑿滃崟 var menu = new nw 銆?/span>Menu 錛堬級; //娣誨姞涓浜涢」鐩笌鏍囩 鑿滃崟銆?/span>榪藉姞錛?/span>鏂?/span> NW 銆?/span>鑿滃崟欏?/span>錛坽 鏍囩錛?/span> “欏圭洰A” 錛?/span> 鍗曞嚮錛?/span> 鍑芥暟錛堬級{ 璀︽姤錛?/span>'浣犵偣鍑諱簡“欏圭洰A” 錛? } }錛夛級; 鑿滃崟銆?/span>榪藉姞錛?/span>鏂?/span> NW 銆?/span>鑿滃崟欏?/span>錛坽 鏍囩錛?/span> '欏圭洰B' }錛夛級; 鑿滃崟銆?/span>榪藉姞錛?/span>鏂?/span> NW 銆?/span>鑿滃崟欏?/span>錛坽 綾誨瀷錛?/span> “鍒嗛殧絎?#8221; }錛夛級; 鑿滃崟銆?/span>榪藉姞錛?/span>鏂?/span> NW 銆?/span>鑿滃崟欏?/span>錛坽 鏍囩錛?/span> '欏圭洰C' }錛夛級; // Hooks“contextmenu”浜嬩歡 鏂囨。銆?/span>韜綋銆?/span>鐨刟ddEventListener 錛?/span>'鏂囨湰鑿滃崟' 錛?/span> 鍑芥暟錛?/span>EV 錛?/span> { //闃叉鏄劇ず榛樿鐨勪笂涓嬫枃鑿滃崟 EV 銆?/span>鐨刾reventDefault 錛堬級; //寮瑰嚭鐨勫湴鏂癸紝浣犵偣鍑繪湰鏈轟笂涓嬫枃鑿滃崟涓?/span> 鐨勮彍鍗?/span>銆?/span>寮瑰嚭錛?/span>EV 銆?/span>鐐?#175;x 錛?/span> EV 銆?/span>ÿ 錛? return false ; }錛?/span> false 錛? </ script > </ body > </ html >
cd / path / to / your / app / path / to / nw銆?
require('nw.gui')
榪樻敮鎸佷嬌鐢ㄤ紶緇熺殑鍔犺澆NW.js API鐨勬柟寮忋傚畠榪斿洖鐩稿悓鐨?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
鍏鋒湁浠ヤ笅鍐呭鐨勬枃浠訛紝騫朵嬌鐢∟W.js榪愯瀹冦?/p><錛丏OCTYPE HTML> < HTML > < 澶?/span>> < 鏍囬>鎴戠殑鎿嶄綔緋葷粺騫沖彴</ 鏍囬> </ 澶?/span>> < 韜綋> < 鑴氭湰> //浣跨敤Node.js鐨勮幏鍙栫郴緇熷鉤鍙扮殑 鍙樼 OS = 瑕佹眰錛?/span>“OS” 錛? 鏂囨。銆?/span>鍐?/span>錛?/span>“鎮(zhèn)ㄦ鍦ㄨ繍琛岀殑' 錛?/span> 鎿嶄綔緋葷粺錛?/span>騫沖彴錛堬級錛? </ script > </ body > </ html >
npm
NW.js.瀹夎鐨勬ā鍧椼?/p>npm install
涓嶯W.js ABI涓嶅吋瀹廣傝浣跨敤瀹冧滑錛屼綘蹇呴』鐢ㄦ簮浠g爜閲嶅緩瀹?a style="box-sizing: border-box; color: #9b59b6; text-decoration: none;">nw-gyp
銆傛湁鍏寵緇嗕俊鎭紝璇峰弬闃?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"
/>