美文网首页让前端飞
nodejs使用js模块

nodejs使用js模块

作者: 天天向上卡索 | 来源:发表于2018-12-02 15:20 被阅读1次

nodejs 使用 js 模块

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');
    

End

希望你能有所收获

相关文章

  • NodeJs Module

    NodeJs简述 NodeJs使用的标准是CommonJS,所以在NodeJs中文件就是一个模块。 Node.js...

  • node.js笔记1

    Node.js、使用vscode搭建js环境、nodejs中的模块、http协议 Node.js Node.js平...

  • nodejs使用js模块

    nodejs 使用 js 模块 Intro 最近需要用 nodejs 做一个爬虫,Google 有一个 Puppe...

  • NodeJS总结

    什么是NodeJS Node.js采用模块化结构,按照CommonJS规范定义和使用模块。模块与文件是一一对应关系...

  • vue-cli脚手架基础实现

    commander chalk Inquirer.js nodejs fs、net模块

  • nodejs端模块化方式comomjs详解

    nodejs端实现模块化的方式通常是通过commonjs,使用模块化可以复用js代码,使得逻辑结构更为清晰。 co...

  • WebSocket入门案例两枚

    第一种 使用ws模块 服务端,新建nodejs.js 客户端,新建entry.js 接下来: $ node n...

  • node.js入门教程

    nodejs和npm的安装 体验一下 Hello World 之 Node.js 基础之Npm使用 Node之模块...

  • 珠峰笔记-JavaScript module:CommonJS

    NodeJS 使用 CommanJS 模块系统,简单模拟实现,新建 app.js,内容如下: 在同目录下新建 m....

  • nodejs笔记5(模块系统与函数)

    模块系统 为了让nodejs的文件可以相互调用,nodejs提供了一个简单的模块系统。模块是Node.js 应用程...

网友评论

    本文标题:nodejs使用js模块

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