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 实现模拟form表单上传文件
Jul 14 NodeJs
轻松创建nodejs服务器(5):事件处理程序
Dec 18 NodeJs
详解nodejs 文本操作模块-fs模块(二)
Dec 22 NodeJs
nodejs基础知识
Feb 03 NodeJs
nodejs制作爬虫实现批量下载图片
May 19 NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 NodeJs
Windows下使用Nodejs运行js的方法
Sep 02 NodeJs
NodeJS安装图文教程
Apr 19 NodeJs
详解Nodejs mongoose
Jun 10 NodeJs
nodejs中方法和模块用法示例
Dec 24 NodeJs
nodejs微信开发之自动回复的实现
Mar 17 NodeJs
基于nodejs的微信JS-SDK简单应用实现
May 21 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 高手之路(三)
2006/10/09 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
Javascript之文件操作
2007/03/07 Javascript
javascript之锁定表格栏位
2007/06/29 Javascript
jQuery入门知识简介
2010/03/04 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
angular.element方法汇总
2015/01/07 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python设计模式之单例模式实例
2014/04/26 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
python时间time模块处理大全
2020/10/25 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
巴西本土电商平台:Americanas
2020/06/21 全球购物
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
奠基仪式主持词
2014/03/20 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
童年读书笔记
2015/06/26 职场文书
圣诞晚会主持词
2015/07/01 职场文书