<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 一、概述 在 Node.js 模塊系統中,每個文件都被視為一個獨立的模塊; npm install 執行完畢后,我們可以在 nodemodules 中看到所有依賴的包。雖然使用者無需關注這個目錄里的文件夾結構細節,只管在業務代碼中引用依賴包即可;node\_modules是安裝node后用來存放用包管理工具下載安裝的包的文件夾。比如webpack、gulp、grunt這些工具。在node.js中模塊與文件是一一對應的,也就是說一個node.js文件就是一個模塊。 ## 二、模塊類型 node.js中模塊有兩種類型:核心模塊和文件模塊; ## 三、核心模塊 Node.js 核心模塊會被編譯成二進制,核心模塊定義在 Node.js 源代碼的`lib/`目錄下,`require()`總是會**優先**加載核心模塊; 核心模塊直接使用名稱獲取: ~~~ var http=require('http'); ~~~ ## 四、文件模塊 如果按確切的文件名沒有找到模塊,則 Node.js 會嘗試帶上`.js`、`.json`或`.node`拓展名再加載。 ~~~js const circle = require('./circle.js'); console.log(`半徑為 4 的圓的面積是 ${circle.area(4)}`); ~~~ 1、.js 文件會被解析為 JavaScript 文本文件, .json 文件會被解析為 JSON 文本文件。 .node 文件會被解析為通過 process.dlopen() 加載的編譯后的插件模塊。 2、以 '/' 為前綴的模塊是文件的絕對路徑。 例如, require('/home/marco/foo.js') 會加載 /home/marco/foo.js 文件。 3、以 './' 為前綴的模塊是相對于調用 require() 的文件的。 也就是說, circle.js 必須和 foo.js 在同一目錄下以便于 require('./circle') 找到它。 4、當沒有以 '/'、 './' 或 '../' 開頭來表示文件時,這個模塊必須是一個核心模塊或加載自 node_modules 目錄。 5、如果給定的路徑不存在,則 require() 會拋出一個 code 屬性為 'MODULE_NOT_FOUND' 的 Error。 ## 五、目錄模塊 可以把程序和庫放到一個單獨的目錄,然后提供一個單一的入口來指向它。把目錄遞給`require()`作為一個參數,有三種方式: 1、第一種方式是在根目錄下創建一個`package.json`文件,并指定一個`main`模塊。 例子,`package.json`文件類似: ~~~json { "name" : "some-library", "main" : "./lib/some-library.js" } ~~~ 如果這是在`./some-library`目錄中,則`require('./some-library')`會試圖加載`./some-library/lib/some-library.js`。 這就是 Node.js 處理`package.json`文件的方式。 如果目錄里沒有`package.json`文件,或者`'main'`入口不存在或無法解析,則 Node.js 將會試圖加載目錄下的`index.js`或`index.node`文件。 例如,如果上面的例子中沒有`package.json`文件,則`require('./some-library')`會試圖加載: * `./some-library/index.js` * `./some-library/index.node` 2、如果傳遞給`require()`的模塊標識符不是一個[核心模塊](http://nodejs.cn/api/modules.html#modules_core_modules),也沒有以`'/'`、`'../'`或`'./'`開頭,則 Node.js 會從當前模塊的父目錄開始,嘗試從它的`/node_modules`目錄里加載模塊。 Node.js 不會附加`node_modules`到一個已經以`node_modules`結尾的路徑上。如果還是沒有找到,則移動到再上一層父目錄,直到文件系統的根目錄。 例如:如果在`'/home/ry/projects/foo.js'`文件里調用了`require('bar.js')`,則 Node.js 會按以下順序查找: * `/home/ry/projects/node_modules/bar.js` * `/home/ry/node_modules/bar.js` * `/home/node_modules/bar.js` * `/node_modules/bar.js` 3、從全局目錄加載 如果`NODE_PATH`環境變量被設為一個以冒號分割的絕對路徑列表,則當在其他地方找不到模塊時 Node.js 會搜索這些路徑; * `$HOME/.node_modules` * `$HOME/.node_libraries` * `$PREFIX/lib/node`
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看