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开发微博实例
Mar 25 NodeJs
Nodejs中的this详解
Mar 26 NodeJs
详解nodejs 文本操作模块-fs模块(四)
Dec 22 NodeJs
nodejs实例解析(输出hello world)
Jan 03 NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 NodeJs
深入理解Nodejs Global 模块
Jun 03 NodeJs
Nodejs回调加超时限制两种实现方法
Jun 09 NodeJs
nodejs实现解析xml字符串为对象的方法示例
Mar 14 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
nodejs同步调用获取mysql数据时遇到的大坑
Mar 02 NodeJs
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
May 30 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
由php的call_user_func传reference引发的思考
2010/07/23 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
Symfony生成二维码的方法
2016/02/04 PHP
php日期操作技巧小结
2016/06/25 PHP
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
jQuery的animate函数学习记录
2014/08/08 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
js实现图片实时时钟
2020/01/15 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
用python代码做configure文件
2014/07/20 Python
Python调用C/C++动态链接库的方法详解
2014/07/22 Python
python如何为创建大量实例节省内存
2018/03/20 Python
浅谈Django的缓存机制
2018/08/23 Python
python和php哪个更适合写爬虫
2020/06/22 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
个人优缺点自我评价
2014/01/27 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
办公室日常管理制度
2015/08/04 职场文书
JavaScript canvas实现流星特效
2021/05/20 Javascript
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis