基本信息
- 動(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í)從高到低分別是:
- Node.js 的
process.chdir(PATH)
傳入的 PATH 路徑 - current-working-directory 開關(guān)所指路徑
- file 協(xié)議下的路徑
- 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
。
下載
更多建議: