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

 更新时间:2018年12月04日 11:02:28   作者:Love it or leave it  
这篇文章主要介绍了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');

总结

以上所述是小编给大家介绍的nodejs 使用 js 模块的方法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 利用node.js制作命令行工具方法教程(一)

    利用node.js制作命令行工具方法教程(一)

    这篇文章主要给大家介绍了node.js制作命令行工具方法教程,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • Node.js使用Sharp.js进行图像处理的实践与技巧

    Node.js使用Sharp.js进行图像处理的实践与技巧

    Sharp.js 是一个高性能的 Node.js 图像处理库,基于 C 语言编写的 libvips 库封装而来,提供了便捷、高效的图片编辑与转换功能,以下是对 Sharp.js 的深入解析,包括全方位实践与技巧,需要的朋友可以参考下
    2024-08-08
  • Nodejs 获取时间加手机标识的32位标识实现代码

    Nodejs 获取时间加手机标识的32位标识实现代码

    本文给大家分享nodejs获取时间加手机标识的32位标识实现代码,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-03-03
  • 使用Node.js写一个代码生成器的方法步骤

    使用Node.js写一个代码生成器的方法步骤

    这篇文章主要介绍了使用 Node.js 写一个代码生成器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • Node.js包管理工具(npm、yarn、cnpm)

    Node.js包管理工具(npm、yarn、cnpm)

    本文主要介绍了Node.js包管理工具,包含npm、yarn、cnpm者三种,借助包管理工具,可以快速开发项目,提升开发效率,下面就来具体介绍一下如何使用,感兴趣的可以了解一下
    2024-08-08
  • 基于Node.js构建一个灵活的CLI命令行工具

    基于Node.js构建一个灵活的CLI命令行工具

    在软件开发中,命令行界面(CLI)工具是必不可少的助手,本文主要介绍了如何使用Node.js构建一个灵活的CLI工具,涵盖从基础命令处理到复杂的交互式问答和远程模板下载,需要的可以参考下
    2024-03-03
  • 如何正确使用Nodejs 的 c++ module 链接到 OpenSSL

    如何正确使用Nodejs 的 c++ module 链接到 OpenSSL

    这篇文章主要介绍了如何正确使用Nodejs 的 c++ module 链接到 OpenSSL,需要的朋友可以参考下
    2014-08-08
  • Node.js命令行/批处理中如何更改Linux用户密码浅析

    Node.js命令行/批处理中如何更改Linux用户密码浅析

    这篇文章主要给大家介绍了关于Node.js命令行/批处理中如何更改Linux用户密码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • Node.js中的npm单独与批量升级依赖包的方式超详细讲解

    Node.js中的npm单独与批量升级依赖包的方式超详细讲解

    npm outdated仅检查所有已安装包的依赖关系,并将当前版本远程仓库中的最新版本进行对比,不会升级,这篇文章主要介绍了Node.js中的npm单独与批量升级依赖包的方式超详细讲解,需要的朋友可以参考下
    2024-02-02
  • nodejs发布静态https服务器的方法

    nodejs发布静态https服务器的方法

    这篇文章主要介绍了nodejs发布静态https服务器的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09

最新评论