Intro#
最近需要用 nodejs 做一個爬蟲,Google 有一個 Puppeteer 的項(xiàng)目,可以用它來做爬蟲,有關(guān) Puppeteer 的介紹網(wǎng)上也有很多,在這里就不做詳細(xì)介紹了。 node 小白,開始的時候有點(diǎn)懵逼,模塊導(dǎo)出也不會。
官方文檔上說支持 *.mjs 但是還要改文件擴(kuò)展名,感覺有點(diǎn)怪怪的,就沒用,主要是基于js的模塊使用。
模塊導(dǎo)出的兩種方式#
因?yàn)閷?C# 比較熟悉,從我對 C# 的理解中,將 nodejs 中模塊導(dǎo)出分成兩種形式:
	1.一個要實(shí)例化才能調(diào)用的模塊
	2.一個不需要實(shí)例化就可以調(diào)用的靜態(tài)類,提供一些靜態(tài)方法
•導(dǎo)出一個要實(shí)例化的類
module.exports = exports = function (){ };module.exports = exports = function() { this.syncCompanyList = async function(developerName){   await syncCompanyInfo(developerName); }; async function syncCompanyInfo(developerName){   // ... }}•導(dǎo)出一個靜態(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 "";}// 設(shè)置導(dǎo)出的方法及屬性exports.getDistrictCode = getDistrictCode;exports.getNormalDistrictName = getNormalDistrictName;引用導(dǎo)出的模塊方法#
在 node 里使用 require 來引用模塊
•引用 npm 包
	const log4js = require("log4js");
•引用自己編寫的模塊
	const districtUtil = require("./utils/districtUtil");
使用導(dǎo)出的模塊#
要使用某一模塊,需要先引用某一模塊,引用模塊可以參考上一步
•實(shí)例類
const company = require("./company");// ...// 實(shí)例化一個 company 對象var comp = new company();// 調(diào)用 company 里的 syncCompanyList comp.syncCompanyList ();•靜態(tài)類
const districtUtil = require("./utils/districtUtil");// ...// 調(diào)用 districtUtil 里的 getDistrictCodelet districtNme = districtUtil.getDistrictCode('districtName');總結(jié)
以上所述是小編給大家介紹的nodejs 使用 js 模塊的方法實(shí)例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VeVb武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答