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中session的简单使用及通过session实现身份验证的方法
Feb 04 NodeJs
nodejs微信公众号支付开发
Sep 19 NodeJs
NodeJs下的测试框架Mocha的简单介绍
Feb 22 NodeJs
详解nodeJS中读写文件方法的区别
Mar 06 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
基于nodejs+express4.X实现文件下载的实例代码
Jul 13 NodeJs
使用npm安装最新版本nodejs
Jan 18 NodeJs
nodejs+express搭建多人聊天室步骤
Feb 12 NodeJs
Nodejs异步回调之异常处理实例分析
Jun 22 NodeJs
NodeJS 中Stream 的基本使用
Jul 30 NodeJs
Nodejs实现多文件夹文件同步
Oct 17 NodeJs
Nodejs + sequelize 实现增删改查操作
Nov 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常用Output和ptions/Info函数集介绍
2013/06/19 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
iscroll.js滚动加载实例详解
2017/07/18 Javascript
JS中的BOM应用
2018/02/02 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
python中引用与复制用法实例分析
2015/06/04 Python
python操作列表的函数使用代码详解
2017/12/28 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
PageFactory设计模式基于python实现
2020/04/14 Python
Python自带的IDE在哪里
2020/07/01 Python
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
How TDD works
2012/09/30 面试题
厨师个人自我鉴定范文
2014/04/19 职场文书
村容村貌整治方案
2014/05/21 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS