這篇文章將為大家詳細講解有關Node.js里面的內置模塊和自定義模塊的實現方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Commonjs是nodejs中的自定義模塊
Commonjs規范的提出,彌補javascript沒有標準的缺陷,提供一個類似后端語言的標準庫,也就是說commonjs是模塊化的標準,nodejs就是commonjs模塊化的實現。在nodejs中除了http,url,fs等等都是nodejs的內置模塊,可以直接使用.
commonjs中自定義模塊的實現:
在nodejs中將公共的功能抽離為單獨的js文件作為模塊,在外部是沒有辦法訪問的(類似后端的私有的屬性和方法);要想使用模塊,就必須在模塊里面通過exports或者module.exports暴露屬性或者方法。在需要的模塊使用require引入模塊。
方案一
let str={}; module.exports=str;
方案二
let str={}; exports.A=str;
common.js
// node里面的內置模塊和自定義模塊 // 模塊導出兩個方案 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()加載模塊的時候可以直接寫名稱,但是必須放在依賴下加載,并且還要生成配置文件
終端進入依賴文件,安裝配置文件
nodejs 可以自動找node_modules文件下的文件 :如果node_modules文件下有文件夾 可在cd進入這個文件 使用命令cnpm init --yes 安裝當前文件的package.json文件,直接請求require(“名字”);
案例一
common.js
// 引入模塊得使用require("")加載模塊 let todo=require("./todo");//可以省略后綴 console.log(todo); // node里面的require()加載模塊的時候可以直接寫名稱,但是必須放在依賴下加載,并且還要生成配置文件 // 終端進入依賴文件,安裝配置文件 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"); //轉化方法 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; } //設置響應編碼 res.setEncoding("utf8"); let alldata = ""; //監聽數據 res.on("data", (info) => { alldata += info; }) res.on("end", () => { let data =alldata; resolve(data); }) }); }); }, post() { } }
關于“Node.js里面的內置模塊和自定義模塊的實現方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。