命令列選項


啟動 NW.js 時,您可以使用下列命令列選項來變更一些預設行為。

關於命令列參數

當使用者使用您的應用程式在命令列中開啟檔案,例如 your-app file.txt file2.txtfile.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 瀏覽器相同,且沒有副作用。

預設情況下,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.cchttps://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 的值之前。