nodejs 使用 js 模塊的方法實例詳解
Intro#
最近需要用 nodejs 做一個爬蟲,Google 有一個 Puppeteer 的項目,可以用它來做爬蟲,有關 Puppeteer 的介紹網(wǎng)上也有很多,在這里就不做詳細介紹了。 node 小白,開始的時候有點懵逼,模塊導出也不會。
官方文檔上說支持 *.mjs 但是還要改文件擴展名,感覺有點怪怪的,就沒用,主要是基于js的模塊使用。
模塊導出的兩種方式#
因為對 C# 比較熟悉,從我對 C# 的理解中,將 nodejs 中模塊導出分成兩種形式:
1.一個要實例化才能調用的模塊
2.一個不需要實例化就可以調用的靜態(tài)類,提供一些靜態(tài)方法
•導出一個要實例化的類
module.exports = exports = function (){ }; module.exports = exports = function() { this.syncCompanyList = async function(developerName){ await syncCompanyInfo(developerName); }; async function syncCompanyInfo(developerName){ // ... } }
•導出一個靜態(tài)類
exports.funcName = function (){}; var getDistrictCode = function (districtName) { if (districtName) { for (let i= 0; i< DistrictInfo.length; i++) { let district = DistrictInfo[i]; if (district["name"] == districtName || district["aliasName"] == districtName) { return district["code"]; } } } return ""; }; var getNormalDistrictName = function (districtName) { if (districtName) { if (districtName.indexOf('區(qū)') > 0) { return districtName; } for (let i= 0; i< DistrictInfo.length; i++) { let district = DistrictInfo[i]; if (district["name"] == districtName || district["aliasName"] == districtName) { return district["name"]; } } } return ""; } // 設置導出的方法及屬性 exports.getDistrictCode = getDistrictCode; exports.getNormalDistrictName = getNormalDistrictName;
引用導出的模塊方法#
在 node 里使用 require 來引用模塊
•引用 npm 包
const log4js = require("log4js");
•引用自己編寫的模塊
const districtUtil = require("./utils/districtUtil");
使用導出的模塊#
要使用某一模塊,需要先引用某一模塊,引用模塊可以參考上一步
•實例類
const company = require("./company"); // ... // 實例化一個 company 對象 var comp = new company(); // 調用 company 里的 syncCompanyList comp.syncCompanyList ();
•靜態(tài)類
const districtUtil = require("./utils/districtUtil"); // ... // 調用 districtUtil 里的 getDistrictCode let districtNme = districtUtil.getDistrictCode('districtName');
總結
以上所述是小編給大家介紹的nodejs 使用 js 模塊的方法實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
詳解NodeJS框架express的路徑映射(路由)功能及控制
這篇文章主要介紹了詳解NodeJS框架express的路徑映射(路由)功能及控制,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03Node.js與Sails ~項目結構與Mvc實現(xiàn)及日志機制
Sails是一個Node.js的中間架構,很方便的幫助我們搭建web應用程序。還有node.js與Sails日志機制在本文中也講到了,需要的朋友可以一起學習下2015-10-10node.js Sequelize實現(xiàn)單實例字段或批量自增、自減
Sequelize 可以實現(xiàn)針對單個實例的一或多個字段的自增、自減操作,也可以對符合條件的數(shù)據(jù)進行批量的自增、自減操作。單個實例字段的自增、自減可以利用Instance的相應方法實現(xiàn),而批量自增、自減則需要借助sequelize提供的字面量方法實現(xiàn)。下面來看看詳細的介紹吧。2016-12-12node.js 使用 net 模塊模擬 websocket 握手進行數(shù)據(jù)傳遞操作示例
這篇文章主要介紹了node.js 使用 net 模塊模擬 websocket 握手進行數(shù)據(jù)傳遞操作,結合實例形式分析了node.js基于net模塊模擬 websocket握手相關原理及進行數(shù)據(jù)傳遞具體操作技巧,需要的朋友可以參考下2020-02-02