HeXium 介紹

2018-08-29 14:00 更新

基本信息

  • 動(dòng)機(jī):為 heX 開發(fā)者提供一個(gè)類似傳統(tǒng)瀏覽器中開發(fā)及調(diào)試的環(huán)境,以及一個(gè)可以在 Chrome developer tools 中調(diào)試 Node.js 代碼的環(huán)境
  • 目標(biāo):跨平臺(tái)的囊括傳統(tǒng) web 瀏覽器及 Node.js 甚至更多 JavaScript 宿主環(huán)境的開發(fā)及調(diào)試解決方案
  • 名稱由來:heX + Chromium = HeXium
  • 核心組成:Chromium,Node.js
  • License:New BSD
  • 項(xiàng)目首頁(yè):http://hex.youdao.com

與 heX 之間的異同

  • 相同
    • 同一套源代碼
    • Chromium 的版本
    • Node.js 的版本
    • 架構(gòu)(IPC,以及融合 Node.js 的方式等)
    • 跨平臺(tái)性
  • 不同
    • 進(jìn)程模型(HeXium 僅支持多進(jìn)程模式)
    • 應(yīng)用程序入口
    • 不支持可插接式的 Node.js
    • 沒有清單文件(Manifest)

HeXium 對(duì)比 Chromium 增加的內(nèi)容

  • Node.js:包括 node、libuv 的動(dòng)態(tài)庫(kù)。
  • auto-idle-hidden-view-node-event-loop 開關(guān):開啟后,處于非激活狀態(tài)下(document.webkitHidden == false)的頁(yè)簽中的 Node.js 事件循環(huán)會(huì)進(jìn)入休眠狀態(tài),在執(zhí)行完當(dāng)前的異步任務(wù)后掛起。
  • current-working-directory 開關(guān):為整個(gè)瀏覽器設(shè)置默認(rèn)的工作路徑。工作路徑優(yōu)先級(jí)關(guān)系請(qǐng)見下方 設(shè)置工作路徑 部分。

設(shè)置工作路徑

工作路徑將會(huì)影響 Node.js 的工作(包括文件系統(tǒng)操作、模塊加載等)。默認(rèn)情況下,HeXium 的工作路徑為:

  • Windows:exe 所在路徑。
  • Mac OS X:APP 包中的資源路徑,一般為 Content/Resources

若 URL 為 file 協(xié)議的,則工作路徑會(huì)自動(dòng)被定位到 file 協(xié)議所指的路徑,如 URL 為 file:///Users/hex/test.html,則工作路徑為 /Users/hex。

若設(shè)置了 current-working-directory 開關(guān),則工作路徑會(huì)被強(qiáng)行設(shè)置在開關(guān)所設(shè)置的路徑上。

若在代碼中使用 process.chdir(PATH),則工作路徑會(huì)被設(shè)置在 PATH 所指的路徑上,而無(wú)視之前的所有設(shè)定。

所以工作路徑的優(yōu)先級(jí)從高到低分別是:

  1. Node.js 的 process.chdir(PATH) 傳入的 PATH 路徑
  2. current-working-directory 開關(guān)所指路徑
  3. file 協(xié)議下的路徑
  4. HeXium 默認(rèn)工作路徑

FAQ

為什么要提供 HeXium

雖然 heX 中通過遠(yuǎn)程調(diào)試端口提供了 web 開發(fā)者工具,但更多的時(shí)候,web 開發(fā)者更希望能夠在一個(gè)比較傳統(tǒng)的更貼近日常使用的瀏覽器的環(huán)境中進(jìn)行開發(fā)及調(diào)試。所以基于 heX,我們提供了一個(gè)瀏覽器——HeXium。

HeXium 由什么構(gòu)成

  • HeXium 基于 Chromium,并將 Node.js 融入其中。
  • HeXium 與 heX 使用完全相同的同一套源代碼,通過不同的批處理命令來生成對(duì)應(yīng)的工程文件,從而編譯出 HeXium 或者 heX 的二進(jìn)制版本。
  • HeXium 與 heX 具備完全相同的架構(gòu),以及融入 Node.js 的方式,所以除了 heX 中特有的 hex 對(duì)象中的 API,兩者運(yùn)行相同的代碼可以得到相同的結(jié)果。

如何為 HeXium 設(shè)置開關(guān)

基于 Chromium 內(nèi)核的瀏覽器的開關(guān)均為 “”開頭,單詞之間用“-”分割,如:--how-are-you。開關(guān)之間通過空格分隔。具有賦值的開關(guān)的格式為:--how-are-you=fine

  • Windows:為 chrome.exe 創(chuàng)建一個(gè)快捷方式,進(jìn)入快捷方式屬性,在“目標(biāo)”文本框中最后輸入開關(guān)。
  • Mac OS X:進(jìn)入終端,打開瀏覽器的 APP 包,進(jìn)入 Content/MacOS,運(yùn)行 ./Chromium --how-are-you

下載

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)