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(一)--- Node.js简介及安装开发环境
May 20 NodeJs
14款NodeJS Web框架推荐
Jul 11 NodeJs
nodejs下打包模块archiver详解
Dec 03 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
Nodejs搭建wss服务器教程
May 24 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
Jun 19 NodeJs
用nodejs实现json和jsonp服务的方法
Aug 25 NodeJs
图解NodeJS实现登录注册功能
Sep 16 NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 NodeJs
nodejs制作小爬虫功能示例
Feb 24 NodeJs
ubuntu系统下使用pm2设置nodejs开机自启动的方法
May 12 NodeJs
浅谈Node的内存泄露问题
May 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程序61条面向对象分析设计的经验小结
2008/11/12 PHP
PHP分页类集锦
2014/11/18 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
剖析Python的Twisted框架的核心特性
2016/05/25 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
python使用代理ip访问网站的实例
2018/05/07 Python
python读取文件名并改名字的实例
2019/01/07 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
python打开文件的方式有哪些
2020/06/29 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
软件测试有哪些?什么是配置项?
2012/02/12 面试题
护士自荐信怎么写
2013/10/18 职场文书
海南地接欢迎词
2014/01/14 职场文书
房屋继承公证书
2014/04/10 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
pytorch MSELoss计算平均的实现方法
2021/05/12 Python
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
Win11查看设备管理器
2022/04/19 数码科技