最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js里面的內(nèi)置模塊和自定義模塊的實現(xiàn)

 更新時間:2021年05月08日 08:40:19   作者:南初️  
這篇文章主要介紹了Node.js里面的內(nèi)置模塊和自定義模塊的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、Commonjs

  • Commonjs是nodejs中的自定義模塊
  • Commonjs規(guī)范的提出,彌補javascript沒有標(biāo)準(zhǔn)的缺陷,提供一個類似后端語言的標(biāo)準(zhǔn)庫,也就是說commonjs是模塊化的標(biāo)準(zhǔn),nodejs就是commonjs模塊化的實現(xiàn)。在nodejs中除了http,url,fs等等都是nodejs的內(nèi)置模塊,可以直接使用.
  • commonjs中自定義模塊的實現(xiàn):
  • 在nodejs中將公共的功能抽離為單獨的js文件作為模塊,在外部是沒有辦法訪問的(類似后端的私有的屬性和方法);要想使用模塊,就必須在模塊里面通過exports或者module.exports暴露屬性或者方法。在需要的模塊使用require引入模塊。

二、模塊導(dǎo)出兩個方案

方案一

let str={};
module.exports=str;

方案二

let str={};
exports.A=str;

三、自定義模塊寫法

common.js

// node里面的內(nèi)置模塊和自定義模塊
// 模塊導(dǎo)出兩個方案
let str={};
module.exports=str;
exports.A=str;

// 引入模塊得使用require("")加載模塊
let todo=require("./todo");//可以省略后綴
console.log(todo);

todo.js

module.exports={
   name:"張三",
   sleep:function(){
       console.log("睡覺");
   }
}

或者

module.exports={
   name:"張三",
   sleep:function(){
       console.log("睡覺");
   }
}
  • node里面的require()加載模塊的時候可以直接寫名稱,但是必須放在依賴下加載,并且還要生成配置文件
  • 終端進(jìn)入依賴文件,安裝配置文件
  • nodejs 可以自動找node_modules文件下的文件 :如果node_modules文件下有文件夾 可在cd進(jìn)入這個文件 使用命令cnpm init --yes 安裝當(dāng)前文件的package.json文件,直接請求require(“名字”);

案例一

common.js

// 引入模塊得使用require("")加載模塊
let todo=require("./todo");//可以省略后綴
console.log(todo);

// node里面的require()加載模塊的時候可以直接寫名稱,但是必須放在依賴下加載,并且還要生成配置文件
// 終端進(jìn)入依賴文件,安裝配置文件
let fetch=require("Fetch");
console.log(fetch);
fetch.get("http://www.zjm.com");

Fetch.js

module.exports={
   get(url){
       console.log(url);
   }
}

案例二

common.js

let Axios = require("Axios");
let url = "https://autumnfish.cn/search";
let data = { keywords: '西安' };
const http = require("http");
let app = http.createServer((req, res) => {
   res.writeHead(200, { "Content-Type": "text/html;charset=utf-8" });
   Axios.get(url, { params: data }).then((result) => {
       res.write(result);
       res.end();
   });
});
app.listen(8080)

Axios.js

const http = require("http");
const https=require("https");
//轉(zhuǎn)化方法
let change = (args) => {
   let str = "?";
   for (let key in args) {
       str += key + "=" + args[key];
       str += "&";
   }
   return str.slice(0, str.length - 1);
}
module.exports = {
   get(href, { params }) {
       return new Promise((resolve, reject) => {
           href += change(params);
           https.get(href, (res) => {
               let { statusCode } = res;
               let error;
               if (statusCode != 200) {
                   error = new Error('Request Failed.\n' +
                       `Status Code: ${statusCode}`);
               }
               if (error) {
                   console.error(error.message);
                   // Consume response data to free up memory
                   res.resume();
                   return;
               }
               //設(shè)置響應(yīng)編碼
               res.setEncoding("utf8");
               let alldata = "";
               //監(jiān)聽數(shù)據(jù)
               res.on("data", (info) => {
                   alldata += info;
               })
               res.on("end", () => {
                   let data =alldata;
                   resolve(data);
               })
           });
       });
   },
   post() {

   }
}

到此這篇關(guān)于Node.js里面的內(nèi)置模塊和自定義模塊的實現(xiàn)的文章就介紹到這了,更多相關(guān)Node.js 內(nèi)置模塊和自定義模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Nodejs爬蟲進(jìn)階教程之異步并發(fā)控制

    Nodejs爬蟲進(jìn)階教程之異步并發(fā)控制

    這篇文章主要介紹了Nodejs爬蟲進(jìn)階教程之異步并發(fā)控制的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 深入理解Nodejs Global 模塊

    深入理解Nodejs Global 模塊

    本篇文章主要介紹了深入理解Nodejs Global 模塊,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • visual studio配置node.js開發(fā)的圖文教程

    visual studio配置node.js開發(fā)的圖文教程

    在進(jìn)行node開發(fā)時,使用visual studio作為開發(fā)工具是非常常見的選擇,本文主要介紹了visual studio配置node.js開發(fā)的圖文教程,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • 對node.js中render和send的用法詳解

    對node.js中render和send的用法詳解

    今天小編就為大家分享一篇對node.js中render和send的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Node.js學(xué)習(xí)之地址解析模塊URL的使用詳解

    Node.js學(xué)習(xí)之地址解析模塊URL的使用詳解

    url模塊是nodejs里面的一個簡單的模塊,下面這篇文章主要給大家介紹了關(guān)于Node.js學(xué)習(xí)之地址解析模塊URL使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • Node.js讀取和寫入文件的代碼示例

    Node.js讀取和寫入文件的代碼示例

    在現(xiàn)代前端開發(fā)中,Node.js已經(jīng)成為不可或缺的一部分,其高效的非阻塞I/O模型使得它非常適合處理文件操作,在這篇博客中,我們將探討如何使用Node.js讀取和寫入文件,我們會涉及基本的文件系統(tǒng)模塊,并提供可運行的代碼示例,以便您可以輕松上手
    2024-11-11
  • electron安裝報錯終極解決辦法詳細(xì)講解

    electron安裝報錯終極解決辦法詳細(xì)講解

    當(dāng)使用npm安裝electron時,有時候會遇到各種各樣的錯誤,如網(wǎng)絡(luò)錯誤、權(quán)限錯誤等等,這篇文章主要給大家介紹了關(guān)于electron安裝報錯終極解決辦法的相關(guān)資料,需要的朋友可以參考下
    2024-09-09
  • Visual?Studio?Code中npm腳本找不到圖文解決辦法

    Visual?Studio?Code中npm腳本找不到圖文解決辦法

    這篇文章主要給大家介紹了關(guān)于Visual?Studio?Code中npm腳本找不到的圖文解決辦法,做前端開發(fā)如果項目達(dá)到了一定的規(guī)模就離不開npm了,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • nodejs實現(xiàn)OAuth2.0授權(quán)服務(wù)認(rèn)證

    nodejs實現(xiàn)OAuth2.0授權(quán)服務(wù)認(rèn)證

    本篇文章主要介紹了nodejs實現(xiàn)OAuth2.0授權(quán)服務(wù)認(rèn)證,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Node.js中Swagger的使用指南詳解

    Node.js中Swagger的使用指南詳解

    Swagger(目前用OpenAPI?Specification代替)是一個用于設(shè)計、構(gòu)建、記錄和使用REST?API的強(qiáng)大工具,本文將探討使用Swagger的一些關(guān)鍵技巧,需要的可以參考一下
    2024-01-01

最新評論

阿瓦提县| 永和县| 汾阳市| 阿拉尔市| 灵台县| 新密市| 科尔| 孟州市| 乌苏市| 哈尔滨市| 德兴市| 农安县| 元氏县| 永平县| 巴塘县| 红原县| 瓦房店市| 吐鲁番市| 通渭县| 砀山县| 石泉县| 长兴县| 吴旗县| 焦作市| 志丹县| 大丰市| 安西县| 尤溪县| 邻水| 乾安县| 平定县| 定边县| 集安市| 忻城县| 尚志市| 内乡县| 紫金县| 加查县| 南投县| 胶南市| 饶平县|