Intro#
最近需要用 nodejs 做一個爬蟲,Google 有一個 Puppeteer 的項目,可以用它來做爬蟲,有關 Puppeteer 的介紹網上也有很多,在這里就不做詳細介紹了。 node 小白,開始的時候有點懵逼,模塊導出也不會。
官方文檔上說支持 *.mjs 但是還要改文件擴展名,感覺有點怪怪的,就沒用,主要是基于js的模塊使用。
模塊導出的兩種方式#
因為對 C# 比較熟悉,從我對 C# 的理解中,將 nodejs 中模塊導出分成兩種形式:
1.一個要實例化才能調用的模塊
2.一個不需要實例化就可以調用的靜態類,提供一些靜態方法
•導出一個要實例化的類
module.exports = exports = function (){ };module.exports = exports = function() { this.syncCompanyList = async function(developerName){ await syncCompanyInfo(developerName); }; async function syncCompanyInfo(developerName){ // ... }}
•導出一個靜態類
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('區') > 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 ();
•靜態類
const districtUtil = require("./utils/districtUtil");// ...// 調用 districtUtil 里的 getDistrictCodelet districtNme = districtUtil.getDistrictCode('districtName');
總結
以上所述是小編給大家介紹的nodejs 使用 js 模塊的方法實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答