国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

軟件開發(fā)工具有哪些基本功能搜索引擎優(yōu)化師工資

軟件開發(fā)工具有哪些基本功能,搜索引擎優(yōu)化師工資,做的系統(tǒng)怎么和網(wǎng)站對接,個人網(wǎng)站可以做點什么[node]模塊系統(tǒng) Node.js中的模塊系統(tǒng)模塊的使用模塊的導入模塊的導出導出多個值導出默認值導出可傳參的函數(shù) 文件查找策略從文件模塊緩存中加載從原生模塊加載從文件加載 Node.js中的模塊系統(tǒng) 為了讓Node.js的文件可以相互調(diào)用,Node.js提供了一個簡單的模塊系統(tǒng)。 …

[node]模塊系統(tǒng)

  • Node.js中的模塊系統(tǒng)
  • 模塊的使用
    • 模塊的導入
    • 模塊的導出
      • 導出多個值
      • 導出默認值
      • 導出可傳參的函數(shù)
  • 文件查找策略
    • 從文件模塊緩存中加載
    • 從原生模塊加載
    • 從文件加載

Node.js中的模塊系統(tǒng)

為了讓Node.js的文件可以相互調(diào)用,Node.js提供了一個簡單的模塊系統(tǒng)。

模塊是Node.js 應用程序的基本組成部分,文件和模塊是一一對應的。換言之,一個 Node.js 文件就是一個模塊,這個文件可能是JavaScript 代碼、JSON 或者編譯過的C/C++ 擴展。

模塊的使用

Node.js 提供了 exports 和 require 兩個對象,其中 exports 是模塊公開的接口,require 用于從外部獲取一個模塊的接口,即所獲取模塊的 exports 對象。

常用的關(guān)鍵字包括:

  • exports
  • module
  • require

exports是module.exports的別名,一般要對外暴露屬性或方法,就用 exports 就行,要暴露對象(類似class,包含了很多屬性和方法),就用 module.exports

不建議同時使用 exports 和 module.exports。

如果先使用 exports 對外暴露屬性或方法,再使用 module.exports 暴露對象,會使得 exports 上暴露的屬性或者方法失效。

原因在于,exports 僅僅是 module.exports 的一個引用

模塊的導入

Nodejs主要是通過require的方式導入;

模塊的導出

導出多個值

module.js

//方式1
exports.a="this is a module param,";
exports.b="use exports to export param,";
exports.c="check the result";

module-use.js,使用模塊:

const receive=require("./module");
console.log(receive.a,receive.b,receive.c);

終端打印:

輸入:node module-use.js
輸出:this is a module param, use exports to export param, check the result

導出默認值

module.js

//方式2
module.exports=["this use module.exports to export param","this is array"];

module-use.js

const receive=require("./module");
console.log(receive);

終端打印:

輸入:node module-use.js
輸出:[ 'this use module.exports to export param', 'this is array' ]

導出可傳參的函數(shù)

module.js

//方式3
module.exports=title=>`this use module.exports to export param ,and you can pass param ${title} to this template"`;

module-use.js

const receive=require("./module");
//方式3
console.log(receive("TTTTTT"))

終端打印:

輸入:node module-use.js
輸出:this use module.exports to export param ,and you can pass param TTTTTT to this template

文件查找策略

Node.js 的 require 方法的文件查找策略:
Node.js 中存在 4 類模塊(原生模塊和3種文件模塊),盡管 require 方法極其簡單,但是內(nèi)部的加載卻是十分復雜的,其加載優(yōu)先級也各自不同

在這里插入圖片描述

模塊加載的優(yōu)先級:

文件模塊緩存>原生模塊緩存>原生模塊>文件模塊

優(yōu)先從緩存區(qū)加載。如果緩存區(qū)沒有被加載過,則調(diào)用模塊的加載方式進行加載和執(zhí)行

從文件模塊緩存中加載

盡管原生模塊與文件模塊的優(yōu)先級不同,但是都會優(yōu)先從文件模塊的緩存中加載已經(jīng)存在的模塊。

從原生模塊加載

原生模塊的優(yōu)先級僅次于文件模塊緩存的優(yōu)先級。require 方法解析文件名之后,優(yōu)先檢查模塊是否在原生模塊列表中。以http模塊為例,盡管在目錄下存在一個 http/http.js/http.node/http.json 文件,require(“http”) 都不會從這些文件中加載,而是從原生模塊中加載。

原生模塊也有一個緩存區(qū),同樣也是優(yōu)先從緩存區(qū)加載。如果緩存區(qū)沒有被加載過,則調(diào)用原生模塊的加載方式進行加載和執(zhí)行。

從文件加載

當文件模塊緩存中不存在,而且不是原生模塊的時候,Node.js 會根據(jù) require 方法傳入的參數(shù),并從文件系統(tǒng)中加載實際的文件,這里將詳細描述查找文件模塊的過程。

require方法接受以下幾種參數(shù)的傳遞:

  • http、fs、path等,原生模塊
  • ./mod或…/mod,相對路徑的文件模塊
  • /pathtomodule/mod,絕對路徑的文件模塊
  • mod,非原生模塊的文件模塊

在路徑 Y 下執(zhí)行 require(X) 語句執(zhí)行順序:

1. 如果 X 是內(nèi)置模塊a. 返回內(nèi)置模塊b. 停止執(zhí)行
2. 如果 X'/' 開頭a. 設(shè)置 Y 為文件根路徑
3. 如果 X'./''/' or '../' 開頭a. LOAD_AS_FILE(Y + X)b. LOAD_AS_DIRECTORY(Y + X)
4. LOAD_NODE_MODULES(X, dirname(Y))
5. 拋出異常 "not found"LOAD_AS_FILE(X)
1. 如果 X 是一個文件,X 作為 JavaScript 文本載入并停止執(zhí)行。
2. 如果 X.js 是一個文件,X.js 作為 JavaScript 文本載入并停止執(zhí)行。
3. 如果 X.json 是一個文件, 解析 X.json 為 JavaScript 對象并停止執(zhí)行。
4. 如果 X.node 是一個文件,X.node 作為二進制插件載入并停止執(zhí)行。LOAD_INDEX(X)
1. 如果 X/index.js 是一個文件,X/index.js 作為 JavaScript 文本載入并停止執(zhí)行。
2. 如果 X/index.json 是一個文件, 解析 X/index.json 為 JavaScript 對象并停止執(zhí)行。
3. 如果 X/index.node 是一個文件,X/index.node 作為二進制插件載入并停止執(zhí)行。LOAD_AS_DIRECTORY(X)
1. 如果 X/package.json 是一個文件,a. 解析 X/package.json, 并查找 "main" 字段。b. let M = X + (json main 字段)c. LOAD_AS_FILE(M)d. LOAD_INDEX(M)
2. LOAD_INDEX(X)LOAD_NODE_MODULES(X, START)
1. let DIRS=NODE_MODULES_PATHS(START)
2. for each DIR in DIRS:a. LOAD_AS_FILE(DIR/X)b. LOAD_AS_DIRECTORY(DIR/X)NODE_MODULES_PATHS(START)
1. let PARTS = path split(START)
2. let I = count of PARTS - 1
3. let DIRS = []
4. while I >= 0,a. if PARTS[I] = "node_modules" CONTINUEb. DIR = path join(PARTS[0 .. I] + "node_modules")c. DIRS = DIRS + DIRd. let I = I - 1
5. return DIRS
http://aloenet.com.cn/news/30889.html

相關(guān)文章:

  • 怎樣用php做網(wǎng)站北京seo地址
  • 網(wǎng)站空間租用多少錢南寧網(wǎng)
  • 哪個網(wǎng)站做的系統(tǒng)好成功的網(wǎng)絡營銷案例有哪些
  • 做購物網(wǎng)站哪家公司好廣告推廣軟文案例
  • 上海網(wǎng)站設(shè)計專業(yè)團隊知乎推廣合作
  • 路橋網(wǎng)站制作制作網(wǎng)頁教程
  • 鎮(zhèn)江網(wǎng)站關(guān)鍵字優(yōu)化公司百度地圖在線查詢
  • 網(wǎng)站工程師培訓學校網(wǎng)站是怎么做的
  • 網(wǎng)站建設(shè)學多久中鐵建設(shè)集團有限公司
  • 合肥網(wǎng)站建站推廣瀏覽廣告賺錢的平臺
  • 珠海網(wǎng)站設(shè)計全球十大搜索引擎排名及網(wǎng)址
  • 商城網(wǎng)站源代碼關(guān)鍵詞包括哪些內(nèi)容
  • 建網(wǎng)站公司聯(lián)系方式關(guān)鍵洞察力
  • ps網(wǎng)站制作教程汕頭seo代理商
  • 漯河市萬金鎮(zhèn)網(wǎng)站建設(shè)高端品牌網(wǎng)站建設(shè)
  • 書店網(wǎng)站建設(shè)游戲優(yōu)化大師官方下載
  • 怎么建立網(wǎng)站網(wǎng)址百度網(wǎng)站認證
  • 西安網(wǎng)站建設(shè)有那些公司好建立網(wǎng)站的基本流程
  • 做網(wǎng)站前景搜索引擎排名機制
  • 貴州網(wǎng)站建設(shè)關(guān)鍵詞代發(fā)排名首頁
  • 濟南集團網(wǎng)站建設(shè)方案做公司網(wǎng)站的公司
  • 做照片相冊最好的網(wǎng)站自己如何注冊一個網(wǎng)站
  • 武漢做商城網(wǎng)站seo排名關(guān)鍵詞點擊
  • 湖北省稅務局網(wǎng)站建設(shè)方sem和seo哪個工作好
  • 網(wǎng)站建設(shè)怎樣回答客戶問題優(yōu)化怎么做
  • ofbiz做的網(wǎng)站營銷方案策劃
  • 如何用wordpress做視頻網(wǎng)站品牌seo培訓咨詢
  • 怎么做汽車網(wǎng)站seo入門免費教程
  • 婦科醫(yī)院網(wǎng)站建設(shè)怎么做汽車營銷活動策劃方案
  • wordpress代碼實現(xiàn)怎么做seo關(guān)鍵詞優(yōu)化