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测试框架mocha入门教程
Mar 28 NodeJs
nodejs实现邮件发送服务实例分享
Mar 29 NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 NodeJs
nodeJS实现路由功能实例代码
Jun 08 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
nodejs发送http请求时遇到404长时间未响应的解决方法
Dec 10 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
nodejs实现套接字服务功能详解
Jun 21 NodeJs
Nodejs实现多文件夹文件同步
Oct 17 NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 NodeJs
nodejs开发一个最简单的web服务器实例讲解
Jan 02 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
laravel学习教程之存取器
2016/07/30 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
Python 解析XML文件
2009/04/15 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
python中pyplot基础图标函数整理
2020/11/10 Python
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
机械个人求职信范文
2014/01/24 职场文书
初一新生军训方案
2014/05/22 职场文书
公司租房协议书
2014/10/14 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
2016年母亲节广告语
2016/01/28 职场文书
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers