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服务器(7):阻塞操作的实现
Dec 18 NodeJs
Nodejs学习笔记之Global Objects全局对象
Jan 13 NodeJs
NodeJS中利用Promise来封装异步函数
Feb 25 NodeJs
nodejs中的fiber(纤程)库详解
Mar 24 NodeJs
详解nodejs 文本操作模块-fs模块(二)
Dec 22 NodeJs
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
Mar 28 NodeJs
NodeJS自定义模块写法(详解)
Jun 27 NodeJs
NodeJS收发GET和POST请求的示例代码
Aug 25 NodeJs
Windows下使用Nodejs运行js的方法
Sep 02 NodeJs
详解NodeJs项目 CentOs linux服务器线上部署
Sep 16 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 NodeJs
分享node.js实现简单登录注册的具体代码
Apr 26 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常用函数小技巧
2008/09/11 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
js拖动滑块和点击水波纹效果实例代码
2018/10/16 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
python实现多张图片拼接成大图
2019/01/15 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
EJB的角色和三个对象
2015/12/31 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
关爱女孩行动实施方案
2014/03/13 职场文书
运动会新闻稿
2015/07/17 职场文书
资产移交协议书
2016/03/24 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript