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简单实现中英文翻译
May 04 NodeJs
nodejs操作mysql实现增删改查的实例
May 28 NodeJs
Windows下使用Nodejs运行js的方法
Sep 02 NodeJs
nodejs使用http模块发送get与post请求的方法示例
Jan 08 NodeJs
nodeJs实现基于连接池连接mysql的方法示例
Feb 10 NodeJs
nodejs中实现用户注册路由功能
May 20 NodeJs
nodejs实现用户登录路由功能
May 22 NodeJs
nodejs二进制与Buffer的介绍与使用
Jul 11 NodeJs
NodeJs实现简易WEB上传下载服务器
Aug 10 NodeJs
Nodejs libuv运行原理详解
Aug 21 NodeJs
纯异步nodejs文件夹(目录)复制功能
Sep 03 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 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中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
php控制文件下载速度的方法
2015/03/24 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
PHP加密解密类实例代码
2016/07/20 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
python发送邮件接收邮件示例分享
2014/01/21 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
python实现发送邮件功能代码
2017/12/14 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
如何表示python中的相对路径
2020/07/08 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
会议接待欢迎词
2014/01/12 职场文书
跟单业务员岗位职责
2014/03/08 职场文书
法学院毕业生求职信
2014/06/25 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
行政前台岗位职责
2015/04/16 职场文书
七年级语文教学反思
2016/03/03 职场文书
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
新手初学Java List 接口
2021/07/07 Java/Android