美文网首页
nodejs 使用 js 模块的方法实例

nodejs 使用 js 模块的方法实例

作者: 88b61f4ab233 | 来源:发表于2018-12-27 20:41 被阅读3次

    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){
       // ...
     }
    }
    

    前端全栈学习交流圈:866109386,面向1-3经验年前端开发人员,帮助突破技术瓶颈,提升思维能力,群内有大量PDF可供自取,更有干货实战项目视频进群免费领取。

    •导出一个静态类

    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;
    

    前端全栈学习交流圈:866109386,面向1-3经验年前端开发人员,帮助突破技术瓶颈,提升思维能力,群内有大量PDF可供自取,更有干货实战项目视频进群免费领取。

    引用导出的模块方法#

    在 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 使用 js 模块的方法实例

          本文链接:https://www.haomeiwen.com/subject/idwdlqtx.html