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分页类代码分享
Jun 17 NodeJs
轻松创建nodejs服务器(2):nodejs服务器的构成分析
Dec 18 NodeJs
Nodejs进阶:核心模块net入门学习与实例讲解
Nov 21 NodeJs
nodeJs链接Mysql做增删改查的简单操作
Feb 04 NodeJs
nodejs中使用HTTP分块响应和定时器示例代码
Mar 19 NodeJs
解析NodeJS异步I/O的实现
Apr 13 NodeJs
nodejs之get/post请求的几种方式小结
Jul 26 NodeJs
nodejs对express中next函数的一些理解
Sep 08 NodeJs
nodejs使用express获取get和post传值及session验证的方法
Nov 09 NodeJs
详解Nodejs内存治理
May 13 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
nodejs的安装使用与npm的介绍
Sep 11 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批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
vue仿淘宝订单状态的tab切换效果
2020/06/23 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python的print用法示例
2014/02/11 Python
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
Python中列表的一些基本操作知识汇总
2015/05/20 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
Python 在字符串中加入变量的实例讲解
2018/05/02 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
Html5新增标签有哪些
2017/04/13 HTML / CSS
恶意软件的定义
2014/11/12 面试题
中式结婚主持词
2014/03/14 职场文书
离婚协议书范本样本
2014/08/19 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
个人年终总结开头
2015/03/06 职场文书
红色革命电影观后感
2015/06/18 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书