<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] >[success] # node -- Global 全局成員 ~~~ 1.可以去官網看了解更多關于Global 全局信息的內容 ~~~ >[danger] ##### __filename -- 包含文件名稱的全路徑 ~~~ 1.解釋:包含文件路徑指的是例如:C://myProject//a.txt console.log('__filename'); // 打印當前文件整個地址 ~~~ >[danger] ##### __dirname -- 文件的路徑(不包含文件名稱) ~~~ 1.解釋:包含文件路徑指的是例如:C://myProject,和上面不同,沒有得到當 前的文件,而是得到當前文件的保存目錄 console.log('__dirname ); // 打印當前文件整個目錄 ~~~ >[danger] ##### global -- 全局變量 ~~~ 1.在Node.js中沒有window對象,但是有一個類似的對象global,訪問全局成 員的時候可以省略global 2例如:global.console.log(),平常直接寫成console.log() ~~~ >[danger] ##### process.arch -- 打印當前系統的架構(64位或者32位) ~~~ 1.console.log(process.arch) ~~~ >[danger] ##### process.argv -- 接受命令行參數 ~~~ 1.擋在cmd 執行node.js 的時候用來接受,在控制臺輸入的參數 2.argv是一個數組,默認情況下,前兩項數據分別是:Node.js環境的路徑; 當前執行的js文件的全路徑,從第三個參數開始表示命令行參數 ~~~ >[success] # Global 全局成員 -- 模塊化開發導入導出 ~~~ 1.CommonJS - Node.js 解釋CommonJS 的模塊導入就類似大多數語言的import 導入一樣,但是因為node.js 的導入用的是 -- require模塊幫忙引入. 2.讓模塊與模塊之間進行通信,使用對象exports,exports 默認是一個空對象要做 的就是把所有需要被外部訪問的成員掛載到這個 exports 對象中 3.因此node.js 使用模塊的時候需要做兩點第一點模塊導出,第二點是模塊導入 ~~~ >[danger] ##### exports/ require -- 模塊導出/模塊導入 ~~~ 1.當只想導出模塊中的單個方法或者單個屬性的時候 -- module.exports 2.當想導出模塊多個對象的時候可以使用 -- exports = {} 或者 module.exports = {} ~~~ * 做說明為什么 使用exports 分兩種導出效果 ~~~ 1.首先其實在導出模塊的時候,系統幫我們自動隱藏了個module 變量,這個變量的格式是 var module = { exports: { } } 2.而最后被導出的是 -- return module.exports 這個變量 3.因此如果導出的時候寫的是 module.exports = num(這個num是我假想的一個變 量)因此整個返回的就從return module.exports 變了了 return num 這樣只能返回 單個變量。 4.如果想多個變量就可以使用exports = {}或者 module.exports = {} 這樣返回的相當于一個對象,引入端就可以使用這個對象 5.根據上面總結導出是 module.exports,導入的是接受module.exports的返回值 ~~~ * 列子 a.js -- 導出 ~~~ var num = 1; var num2 = 2; module.exports = num; // 只導出num 變量 exports = {num:num,num2:num2}; // 導出一個對象,可以使用num 和num2 module.exports = {num:num,num2:num2};// 導出一個對象,可以使用num 和num2 ~~~ b.js -- 導入 ~~~ var objb = require('./a.js') console.log(objb) // 如果從a.js單個導出返回值就是num,直接使用打印 console.log(objb.num) // 如果從a.js多個導出就要從對象中取出指定要使用的+ ~~~ >[danger] ##### global -- 不推薦使用的導出 ~~~ 1.我們在使用普通的js寫前端的代碼的時候,經常會把一些全局變量存在window 中,在node.js 中global 也可以這么使用 2.當然導入導出的時候都使用了global ~~~ * 列子 a.js -- 導出 ~~~ var flag = 123; global.flag = flag; ~~~ b.js -- 導入 ~~~ var a = require('./a.js'); console.log(global.flag) ~~~ >[danger] ##### 說明 -- 關于導入后綴省略的說明 ~~~ 1.導入的時候可以導入模塊文件的后綴3種情況:.js .json .node 2.上述三種模塊的加載在同名時候的優先級(不加文件后綴時的優先級):.js -> .json -> .node 3.導入json 例子:const mime = require('./mime.json'); ~~~ >[danger] ##### 對導入查找機制的說明 ~~~ 第一個步驟:路徑分析 1.require接收一個表示符作為參數,標識符在node中分為以下幾類: 1.1.'核心模塊:如http、fs' 1.2.'.或..開始的相對路徑文件模塊' 1.3.'以/開始的絕對路徑文件模塊' 1.4.'分路徑形式的文件模塊' 前三類都很明確根據路徑查找,不需要做過多的講解。文件模塊的路徑生成規則 是:首先查找當前目錄下的node_modules目錄;其次查找父目錄下的 node_modules目錄;再次查找父目錄的父目錄下的node_modules;最后不斷向 上遞歸查找,直到根目錄的node_modules目錄。總而言之一句話:一直向上找, 直到找到根目錄,如果找不到會進入文件文件定位階段。 第二個步驟:文件定位 1.我們知道在我們寫require的時可以不叫擴展名,這個時候就需要一個規則,來 判斷到底使用的是什么后綴的文件,這里就會用到文件定位。首先會補全擴展名 查找,補全的順序是:.js、.node、.json。如果補全之后還沒有找到的話,會把這 個表示符作為一個目錄查找,找到這個目錄后會,查找當前目錄下是否有 package.json,提取main的屬性值進行定位,如果沒有main的話,會查找index, 然后一次查找index.js、index.json、index.node,如果還是找不到的話,就會拋出 查找失敗的異常。 ~~~ <a href="https://www.cnblogs.com/xiaoheimiaoer/p/3803237.html?utm_source=tuicool&utm_medium=referral">內容節選地址跳轉</a>
                  <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>

                              哎呀哎呀视频在线观看