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加密Crypto的实例代码
Jul 07 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
基于nodejs 的多页面爬虫实例代码
May 31 NodeJs
详解NODEJS的http实现
Jan 04 NodeJs
nodejs简单访问及操作mysql数据库的方法示例
Mar 15 NodeJs
NodeJs实现简单的爬虫功能案例分析
Dec 05 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
nodejs检测因特网是否断开的解决方案
Apr 17 NodeJs
nodeJs的安装与npm全局环境变量的配置详解
Jan 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开发过程中常用函数收藏
2009/12/14 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
JavaScript 变量基础知识
2009/11/07 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
vue mounted组件的使用
2018/06/18 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
2018/09/28 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
常用python数据类型转换函数总结
2014/03/11 Python
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
俄语翻译实习生的自我评价分享
2013/11/06 职场文书
人事任命书怎么写
2014/06/05 职场文书
小学生安全保证书
2015/05/09 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书