命令列選項
啟動 NW.js 時,您可以使用下列命令列選項來變更一些預設行為。
關於命令列參數
當使用者使用您的應用程式在命令列中開啟檔案,例如 your-app file.txt file2.txt
,file.txt file2.txt
會被記錄下來,您可以使用 nw.App.argv 來取得命令列參數陣列。如果您的應用程式已經有一個正在執行的執行個體,第二個執行個體的完整命令列會透過將 open
事件傳送給 App
物件,傳遞給現有的執行個體。
注意
目前有一個限制:如果命令列參數是磁碟上 .js 檔案的檔名,NW 會將其視為上游 Node.js 來執行。這是為了支援 child_process.fork()
API。
--url
使用預設應用程式載入 URL:--url=http://nwjs.io
--mixed-context
在 混合內容模式 下執行 NW.js,而非獨立內容模式。
--nwapp
指定應用程式路徑的另一種方法。此參數在 使用 ChromeDriver 進行測試 時特別有用。
--user-data-dir
指定應用程式的資料目錄,其中包含儲存的資料、快取和崩潰傾印等。預設資料目錄根據您的平台位於下列目錄中
- Windows:
%LOCALAPPDATA%/<name-in-manifest>/
- Mac:
~/Library/Application Support/<name-in-manifest>/
- Linux:
~/.config/<name-in-manifest>
其中 <name-in-manifest>
是 宣言中的 name
欄位。
--disable-devtools
在 SDK 建置中停用使用者存取開發人員工具功能。
--enable-node-worker
在 Web Workers 中啟用 Node.js 整合。這有助於您使用新執行緒卸載 CPU 耗用任務,同時 交換大量資料 與 DOM 有效率地使用 結構化複製 演算法。
請注意,Node.js 的二進制模組需要執行緒安全才能以這種方式使用。我們已修改 Node.js 核心,以確保核心 API 執行緒安全,但我們無法保證第三方二進制模組也能如此。只要純 JS 模組僅依賴執行緒安全模組,它們就是執行緒安全的。而且,當功能未啟用時,不應有任何副作用。
--disable-raf-throttling
使用時,當視窗最小化或隱藏時,requestAnimationFrame() 回呼將繼續觸發。這對於遊戲開發人員來說非常有用。當不使用引數時,它的行為與 Chrome 瀏覽器相同,且沒有副作用。
--disable-cookie-encryption
預設情況下,Chromium 中的 cookie 儲存在磁碟上並加密。使用此開關可停用加密以進行測試(例如在不同系統之間共用 cookie 儲存)。
--disable-crash-handler=true
針對單一處理模式停用崩潰處理程序處理程序。注意:您應明確將其設定為「true」。同時使用它和 --single-process
時,您的應用程式只會有單一 NW 處理程序。此開關將停用崩潰傾印功能。此開關必須放在命令列中(而非 package.json)才能生效。
--enable-gcm
啟用 chrome.gcm API。
--enable-transparent-visuals
--disable-transparency
--disable-gpu
--force-cpu-draw
這些選項與透明視窗功能相關。有關詳細資訊,請參閱 透明視窗。
其他 Chromium 選項
您也可以使用 Chromium 選項,這些選項列於 https://github.com/nwjs/chromium.src/blob/nw18/chrome/common/chrome_switches.cc 和 https://github.com/nwjs/chromium.src/blob/nw18/content/public/common/content_switches.cc 中。另請參閱 http://peter.sh/experiments/chromium-command-line-switches/
這些選項可以放入 清單中的 chromium-args
,讓 NW.js 在每次執行時都帶著這些選項執行。
環境變數
NW_PRE_ARGS
的值會加在清單中 chromium-args
的值之前。