
一、Node.js 讀取模組邏輯
官方對於如何使用 require 載入模組,提供了一大段邏輯程式碼,有興趣可參考「require high-level algorithm」。 相信這個「英文邏輯樹」不容易解讀,這篇「深入Node.js的模組載入機制」提供了中文版說明:1. 優先載入內建模組,即使有同名檔案,也會優先使用內建模組。 2. 不是內建模組,先去快取找。 3. 快取沒有就去找對應路徑的檔案。 4. 不存在對應的檔案,就將這個路徑作為資料夾載入。 5. 對應的檔案和資料夾都找不到就去node_modules下面找。 6. 還找不到就報錯了。所以依照以上邏輯,正常情形我們只有在該「專案資料夾」之下,使用指令
二、能否讀取全域安裝的第三方模組
1. 原理 為了避免在多個專案資料夾重複安裝第三方模組,我想嘗試看看,能否讓 require 讀取全域安裝的第三方模組,找到了這個討論串「NodeJS require a global module/package」。 這個討論串提供了不少作法,有的解法似乎有風險,有的解法適用 Linux,不過提供的概念還是有幫助,Node.js 如通過正確的設定,有辦法可讀取全域安裝的第三方模組。 找到了這篇「Node.js模組全域性安裝路徑配置方法」,即為前述討論串概念的中文操作方法,以下使用 npm 來說明如何操作。 2. 修改全域路徑 首先在安裝 Node.js 的目錄(假設是npm config set prefix "d:\node\node_global"
npm config set cache "d:\node\node_cache"
最後需要修改作業系統的「環境變數」,以 Windows 為例,操作方式為:
- 按
Win+R →「執行指令 sysdm.cpl」→「進階」→「環境變數」 - 「使用者變數」→「新增」→ 變數名稱輸入「NODE_PATH」→ 變數值輸入「d:\node\node_global\node_modules」
- 儲存後,重新啟動 Windows 可生效
三、yarn 操作
以上為 npm 的相關操作,而 yarn 的操作請看以下說明。 1. yarn 全域資料夾位置yarn global dir
執行以上指令可找出 yarn 全域資料夾所在位置,而更改全域資料夾的指令,可參考這篇教學「yarn修改全局安裝路徑和緩存路徑」,範例如下:
yarn config set global-folder "d:\node\node_global"
之後使用 - 同之前步驟,先執行指令 yarn config set global-folder "d:\node\node_global"
- 找到 .yarnrc 這個檔案並開啟
- 將字串
global-folder 改為--global-folder - 之後執行指令
yarn global add 模組名稱 ,就能發現模組出現在全域資料夾了
更多 Node.js 相關文章:
沒有留言:
張貼留言注意事項:
◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢」
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。