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 后缀名判断限制代码
Mar 31 NodeJs
抛弃Nginx使用nodejs做反向代理服务器
Jul 17 NodeJs
Google官方支持的NodeJS访问API,提供后台登录授权
Jul 29 NodeJs
轻松创建nodejs服务器(6):作出响应
Dec 18 NodeJs
NodeJS学习笔记之Module的简介
Mar 24 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
详解nodejs爬虫程序解决gbk等中文编码问题
Apr 06 NodeJs
深入浅析Nodejs的Http模块
Jun 20 NodeJs
nodejs模块学习之connect解析
Jul 05 NodeJs
详解NodeJS Https HSM双向认证实现
Mar 12 NodeJs
nodejs nedb 封装库与使用方法示例
Feb 06 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输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
PHP中的reflection反射机制测试例子
2014/08/05 PHP
php中JSON的使用与转换
2015/01/14 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
Python入门_条件控制(详解)
2017/05/16 Python
Python定时器实例代码
2017/11/01 Python
Python通用循环的构造方法实例分析
2018/12/19 Python
在Python中使用Neo4j的方法
2019/03/14 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
会计专业毕业生推荐信
2013/11/05 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
领导班子四风表现材料
2014/08/23 职场文书
专升本学生毕业自我鉴定
2014/10/04 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
七年级作文之下雨天
2019/12/23 职场文书
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android
python playwright之元素定位示例详解
2022/07/23 Python