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学习笔记之入门篇
Apr 16 NodeJs
windows下安装nodejs及框架express
Aug 07 NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 NodeJs
深入nodejs中流(stream)的理解
Mar 27 NodeJs
mac下的nodejs环境安装的步骤
May 24 NodeJs
手把手教你把nodejs部署到linux上跑出hello world
Jun 19 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
Jun 19 NodeJs
详解nodejs中express搭建权限管理系统
Sep 15 NodeJs
nodejs项目windows下开机自启动的方法
Nov 22 NodeJs
nodejs基于express实现文件上传的方法
Mar 19 NodeJs
详解利用nodejs对本地json文件进行增删改查
Sep 20 NodeJs
Sublime Text3 配置 NodeJs 环境的方法
May 20 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 随机排序广告的实现代码
2011/05/09 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
浅谈PHP封装CURL
2019/03/06 PHP
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
javascript 回调函数详解
2014/11/11 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
jQuery实现的仿百度分页足迹效果代码
2015/10/30 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
vue $mount 和 el的区别说明
2020/09/11 Javascript
Python编程中的反模式实例分析
2014/12/08 Python
Python中的变量和作用域详解
2016/07/13 Python
python 5个顶级异步框架推荐
2020/09/09 Python
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
残疾人创业典型事迹
2014/02/01 职场文书
幼儿园安全责任书
2014/04/14 职场文书
勾股定理课后反思
2014/04/26 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
个人贷款收入证明
2014/10/26 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
银行资信证明
2015/06/17 职场文书
合作意向书怎么写
2019/06/24 职场文书