1. 程式人生 > >Node中的模塊引入機制

Node中的模塊引入機制

com code 文件系統 指定 eight pre 表示 腳本 其中

1.如果模塊在當前目錄下,可以通過下面語句將模塊引入進來,註意需要使用 "./"表示當前路徑

const currency = require(‘./currency‘); ←---- 用路徑./表明模塊跟程序腳本放在同一目錄下

2.如果模塊在當前目錄的子目錄下,可以加上子目錄的名稱,如下。

const currency = require(‘./lib/currency‘);

3.要求模塊在文件系統中使用相對路徑存放,對於組織程序特定的代碼很有幫助,但對於想要在程序間共享或跟其他人共享代碼卻用處不大。node中有一個獨特的模塊引入機制,可以不必知道模塊在文件系統中的具體位置。這個機制就是使用 node_modules目錄。

前面那個模塊的例子中引入的是./currency。如果省略./,只寫currency,想要被搜索到,就需要將 currency.js 放到 node_modules 目錄下。

具體的搜索規則見下圖。

技術分享圖片

4.如果模塊是目錄,在模塊目錄中定義模塊的文件必須被命名為index.js,除非你在這個目錄下一個叫package.json的文件裏特別指明。要指定一個取代index.js的文件,package.json文件裏必須有一個用JavaScript對象表示法(JSON)數據定義的對象,其中有一個名為main的鍵,指明模塊目錄內主文件的路徑。下圖中的流程圖對這些規則做了匯總。

技術分享圖片

下面是一個package.json文件的例子,它指定currency.js為主文件:

{
  "main": "currency.js"
}

Node中的模塊引入機制