在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ 模塊路徑解析規(guī)則
文本編碼
小結(jié)
API 走馬觀花
API 走馬觀花
迭代
小結(jié)
運(yùn)行
回調(diào)
需求
代碼設(shè)計(jì)模式
進(jìn)程介紹
模塊
工程目錄
小結(jié)
小結(jié)
遍歷目錄
小結(jié)
小結(jié)
API 走馬觀花
用途
NPM
小結(jié)
安裝
網(wǎng)絡(luò)操作介紹
二進(jìn)制模塊
什么是 NodeJS
命令行程序
靈機(jī)一點(diǎn)
域(Domain)
應(yīng)用場景
模塊路徑解析規(guī)則
文件拷貝

模塊路徑解析規(guī)則

有經(jīng)驗(yàn)的 C 程序員在編寫一個(gè)新程序時(shí)首先從 make 文件寫起。同樣的,使用 NodeJS 編寫程序前,為了有個(gè)良好的開端,首先需要準(zhǔn)備好代碼的目錄結(jié)構(gòu)和部署方式,就如同修房子要先搭腳手架。本章將介紹與之相關(guān)的各種知識。

模塊路徑解析規(guī)則

我們已經(jīng)知道,require函數(shù)支持斜杠(/)或盤符(C:)開頭的絕對路徑,也支持./開頭的相對路徑。但這兩種路徑在模塊之間建立了強(qiáng)耦合關(guān)系,一旦某個(gè)模塊文件的存放位置需要變更,使用該模塊的其它模塊的代碼也需要跟著調(diào)整,變得牽一發(fā)動(dòng)全身。因此,require函數(shù)支持第三種形式的路徑,寫法類似于foo/bar,并依次按照以下規(guī)則解析路徑,直到找到模塊位置。

內(nèi)置模塊

如果傳遞給 require 函數(shù)的是 NodeJS 內(nèi)置模塊名稱,不做路徑解析,直接返回內(nèi)部模塊的導(dǎo)出對象,例如 require('fs')。

node_modules 目錄

NodeJS 定義了一個(gè)特殊的 node_modules 目錄用于存放模塊。例如某個(gè)模塊的絕對路徑是 /home/user/hello.js,在該模塊中使用 require('foo/bar') 方式加載模塊時(shí),則 NodeJS 依次嘗試使用以下路徑。

 /home/user/node_modules/foo/bar
 /home/node_modules/foo/bar
 /node_modules/foo/bar

NODE_PATH 環(huán)境變量

與 PATH 環(huán)境變量類似,NodeJS 允許通過 NODE_PATH 環(huán)境變量來指定額外的模塊搜索路徑。NODE_PATH 環(huán)境變量中包含一到多個(gè)目錄路徑,路徑之間在 Linux 下使用:分隔,在 Windows 下使用;分隔。例如定義了以下 NODE_PATH 環(huán)境變量:

 NODE_PATH=/home/user/lib:/home/lib

當(dāng)使用 require('foo/bar')的方式加載模塊時(shí),則 NodeJS 依次嘗試以下路徑。

 /home/user/lib/foo/bar
 /home/lib/foo/bar
上一篇:回調(diào)下一篇:模塊