nodejs中方法和模块用法示例


Posted in NodeJs onDecember 24, 2018

本文实例讲述了nodejs中方法和模块用法。分享给大家供大家参考,具体如下:

在nodejs中方法的调用是怎样的呢? 一起来愉快的写代码吧 。

var express = require("express");
var app = express();
var hostName = "127.0.0.1";
var port = 8080;
app.all("*",function(req,res,next){
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
  res.header("X-Powered-By",' 3.2.1')
  res.header("Content-Type", "application/json;charset=utf-8");
  next();
});
function print(){
  console.log("这是server3.js中的方法");
}
print();
app.listen(port,hostName,function(){
  console.log("服务器运行成功...");
});

我们定义了一个方法print,直接调用之后,观看我们的后台输出。

nodejs中方法和模块用法示例

这样就在后台输出了我们的方法。那么如何引用其他js文件中的方法呢?我们新建一个utils.js文件。

function print(){
  console.log("这是utils.js中的print方法");
}
exports.print = print;

在这个js文件中就只有一个方法,那么如何使用utils中的print方法呢? 使用方式如下:

require后面的是相对开启服务的js文件路径
var utils = require("../utils.js");
utils.print();

运行结果

nodejs中方法和模块用法示例

现在想一个问题,utils.js文件不应该就只有一个方法吧,既然是工具类,自然应该有很多方法才对。那么要是utils中有多个方法应该如何使用呢?

module.exports ={
  "print":function(){
    console.log("这是utils.js中的print方法");
  },
  "toast":function(str){
    console.log("toast方法"+str);
  }
}

使用方式:

var methodName = "print";
utils[methodName]();
utils.toast("hello");

这里我使用了两种方式来调用utils中的方法,其中第一种传入的名称来调用方法,这样比较灵活,可根据需求自行考量。
关于模块的用法,在上面的案例中已经是使用了,只不过我们导出的是一个方法。下面我们创建一个Person的模块。

function Person(name,color,age,language){
  this.color = color;
  this.name = name;
  this.age = age;
  this.language = language;
  this.speak = function(){
    console.log(this.name+this.age+this.color+"在讲"+this.language);
  }
}
module.exports = Person;

这样就创建好了,其中有四个成员变量和一个speak方法,使用方式.

var Person = require("./Person.js");
var person = new Person("张三","黄种人",18,"汉语");
person.speak();

后台打印结果:

nodejs中方法和模块用法示例

很显然,我们做的很成功。下面我们新建一个YellowPerson.js文件,让其集成person的所有属性和方法。

var Person = require("./Person.js");
function YellowPerson(name,color,age,language){
  //通过apply方法集成person的属性和方法
  Person.apply(this,[name,color,age,language]);
  this.like = function(){
    console.log("黄种人喜欢写代码...");
  }
}
module.exports = YellowPerson;

使用方式:

var YellowPerson = require('./YellowPerson.js');
var yellowPerson = new YellowPerson("李四","黄种人",20,"汉语");
yellowPerson.speak();
yellowPerson.like();

后台打印结果:

nodejs中方法和模块用法示例

看到person的方法和yellowperson特有的like方法都打印出来了,至此,我们的模块算是完成啦!

希望本文所述对大家nodejs程序设计有所帮助。

NodeJs 相关文章推荐
NodeJS连接MongoDB数据库时报错的快速解决方法
May 13 NodeJs
进阶之初探nodeJS
Jan 24 NodeJs
Nodejs搭建wss服务器教程
May 24 NodeJs
nodejs利用ajax实现网页无刷新上传图片实例代码
Jun 06 NodeJs
docker中编译nodejs并使用nginx启动
Jun 23 NodeJs
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
Sep 06 NodeJs
nodejs实现大文件(在线视频)的读取
Oct 16 NodeJs
nodejs+mongodb+vue前后台配置ueditor的示例代码
Jan 02 NodeJs
nodejs微信开发之接入指南
Mar 17 NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 NodeJs
linux 下以二进制的方式安装 nodejs
Feb 12 NodeJs
Nodejs中获取当前函数被调用的行数及文件名详解
Dec 12 #NodeJs
nodejs图片处理工具gm用法小结
Dec 12 #NodeJs
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
Dec 06 #NodeJs
NodeJs实现简单的爬虫功能案例分析
Dec 05 #NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 #NodeJs
使用koa-log4管理nodeJs日志笔记的使用方法
Nov 30 #NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 #NodeJs
You might like
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
bootstrap导航、选项卡实现代码
2016/12/28 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
Python3.x和Python2.x的区别介绍
2013/02/12 Python
linux 下实现python多版本安装实践
2014/11/18 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
Python字符编码与函数的基本使用方法
2017/09/30 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
迟到检讨书900字
2014/01/14 职场文书
活动总结格式
2014/08/30 职场文书
发票退票证明
2015/06/24 职场文书
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
利用js实现简单开关灯代码
2021/11/23 Javascript
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript