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


Posted in NodeJs onDecember 04, 2018

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 模块的方法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

NodeJs 相关文章推荐
用nodejs实现PHP的print_r函数代码
Mar 14 NodeJs
nodejs简单实现中英文翻译
May 04 NodeJs
浅谈NodeJS中require路径问题
May 07 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
基于Nodejs利用socket.io实现多人聊天室
Feb 22 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
基于nodejs实现微信支付功能
Dec 20 NodeJs
nodejs 日志模块winston的使用方法
May 02 NodeJs
nodejs读取图片返回给浏览器显示
Jul 25 NodeJs
Nodejs实现WebSocket代码实例
May 19 NodeJs
在NodeJs中使用node-schedule增加定时器任务的方法
Jun 08 NodeJs
使用koa-log4管理nodeJs日志笔记的使用方法
Nov 30 #NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 #NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 #NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 #NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 #NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 #NodeJs
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
Nov 01 #NodeJs
You might like
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
php随机显示指定文件夹下图片的方法
2015/07/13 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
PHP 7.4中使用预加载的方法详解
2019/07/08 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
javascript 播放器 控制
2007/01/22 Javascript
javascript实现的listview效果
2007/04/28 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
JQuery对class属性的操作实现按钮开关效果
2013/10/11 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
举例介绍Python中的25个隐藏特性
2015/03/30 Python
Python中为什么要用self探讨
2015/04/14 Python
Python新手入门最容易犯的错误总结
2017/04/24 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
Python容器类型公共方法总结
2020/08/19 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
物流管理专业应届生求职信
2013/11/21 职场文书
公司前台接待岗位职责
2013/12/03 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
一文解答什么是MySQL的回表
2022/08/05 MySQL