欢迎来到代码驿站!

NodeJS

当前位置:首页 > 脚本语言 > NodeJS

nodejs 使用 js 模块的方法实例详解

时间:2021-05-03 10:02:48|栏目:NodeJS|点击:

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 里的 getDistrictCode
let districtNme = districtUtil.getDistrictCode('districtName');

总结

上一篇:Nodejs抓取html页面内容(推荐)

栏    目:NodeJS

下一篇:nodejs中使用多线程编程的方法实例

本文标题:nodejs 使用 js 模块的方法实例详解

本文地址:http://www.codeinn.net/misctech/113957.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有