nodejs 使用 js 模块的方法实例详解
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 的 c++ module 链接到 OpenSSL
这篇文章主要介绍了如何正确使用Nodejs 的 c++ module 链接到 OpenSSL,需要的朋友可以参考下2014-08-08
Node.js命令行/批处理中如何更改Linux用户密码浅析
这篇文章主要给大家介绍了关于Node.js命令行/批处理中如何更改Linux用户密码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2018-07-07
Node.js中的npm单独与批量升级依赖包的方式超详细讲解
npm outdated仅检查所有已安装包的依赖关系,并将当前版本远程仓库中的最新版本进行对比,不会升级,这篇文章主要介绍了Node.js中的npm单独与批量升级依赖包的方式超详细讲解,需要的朋友可以参考下2024-02-02


最新评论