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 npm install全局安装和本地安装的区别
Jun 05 NodeJs
我的NodeJs学习小结(一)
Jul 06 NodeJs
NodeJS中利用Promise来封装异步函数
Feb 25 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
nodejs实现OAuth2.0授权服务认证
Dec 27 NodeJs
nodejs使用http模块发送get与post请求的方法示例
Jan 08 NodeJs
Nodejs 和 Electron ubuntu下快速安装过程
May 04 NodeJs
nodejs用gulp管理前端文件方法
Jun 24 NodeJs
NodeJS如何实现同步的方法示例
Aug 24 NodeJs
nodejs实现用户登录路由功能
May 22 NodeJs
nodejs利用readline提示输入内容实例代码
Jul 15 NodeJs
分享五个Node.js开发的优秀实践 
Apr 07 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防注
2007/01/15 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
Yii+upload实现AJAX上传图片的方法
2016/07/13 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
PHP常用的类封装小结【4个工具类】
2019/06/28 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
Python 调用DLL操作抄表机
2009/01/12 Python
python绘图库Matplotlib的安装
2014/07/03 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
使用Python的内建模块collections的教程
2015/04/28 Python
浅谈Python 的枚举 Enum
2017/06/12 Python
python http接口自动化脚本详解
2018/01/02 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
Python批量合并有合并单元格的Excel文件详解
2018/04/05 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
Python class的继承方法代码实例
2020/02/14 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
用python对excel查重
2020/12/07 Python
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
清明节网上祭英烈活动总结
2014/04/30 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
领导干部考核评语
2015/01/04 职场文书
煤矿安全保证书
2015/02/27 职场文书
2015年数学教研组工作总结
2015/05/23 职场文书
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL