node.js 模块和读取路由中获取信息

模块很类似于Java中的类,也是可以继承的,有自己的变量和方法

nj_dome.js

var  http  =  require(‘http‘);
var User = require("./model/User");//导入user的模块
var Teacher = require("./model/Teacher");//导入teacher的模块

http.createServer(function  (request,  response)  {
	 response.writeHead(200,  {‘Content-Type‘:  ‘text/html;  charset=utf-8‘});
 	  if(request.url!=="/favicon.ico"){
 	  /*user = new User(1,"张三",20);//创建一个user并调用方法
 	  user.enter();*/
 	  teacher = new Teacher(2,"李老师",30);//创建一个teacher
 	  teacher.enter();
 	  teacher.teach(response);

      response.end(‘ ‘);
  }
}).listen(8000);
console.log(‘Server  running  at  http://127.0.0.1:8000/‘);

  user.js

function  User(id,name,age){
    this.id=id;
    this.name=name;
    this.age=age;
    this.enter=function(){
        console.log(this.name + "进入图书馆");
    }
}
module.exports    =    User;

  teacher.js继承了User的模块

var User = require("./User");

function Teacher(id,name,age){
	User.apply(this,[id,name,age]);//继承user模块

	this.teach=function(res){//新建自己的方法
		 res.write(this.name+"讲课");
	}
}

module.exports    =    Teacher;

  -----------------------------------------------------------------------------------------------------------------------------------

读取路由中的方法获取字符串,利用字符串找对应的函数

如http://localhost:8000/login获取login  然后找对应的login函数

nj_router.js

var  http  =  require(‘http‘);
var url = require(‘url‘);//node自带的URL
var router = require(‘./model/router‘);//导入函数文件

http.createServer(function  (request,  response)  {
	 response.writeHead(200,  {‘Content-Type‘:  ‘text/html;  charset=utf-8‘});
 	  if(request.url!=="/favicon.ico"){
 	  var pathname = url.parse(request.url).pathname;//获取路径名称
 	  pathname = pathname.replace(/\//,""); //正则去掉/
 	  console.log(pathname);
 	  router[pathname](request,response);//根据路径名称获取到函数从而调用函数
      response.end(‘ ‘);
  }
}).listen(8000);
console.log(‘Server  running  at  http://127.0.0.1:8000/‘);

  router.js

module.exports={
    login:function(req,res){
        res.write("我是login方法");
    },
    zhuce:function(req,res){
        res.write("我是注册方法");
    }
}

  

时间: 2024-08-11 03:35:23

node.js 模块和读取路由中获取信息的相关文章

Node.js 模块和 NPM

1.模块概念 原生模块:Node.js API 提供的原生模块,原生模块在启动时已经被加载. 文件模块:动态加载模块,由原生模块 module 来实现和完成. 文件模块需要通过调用 require 方法来实现加载. Node.js 对两种模块都有缓存,不会重复开销去加载模块,只读取相应数据. 原生模块的调用 Node.js 的 API require 加载相应的 Node.js 模块,加载成功后返回一个 Node.js 模块对象. 该对象拥有该模块的所有方法和属性. var httpModule

node js 模块系统

Node.js模块系统 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码.JSON 或者编译过的C/C++ 扩展. 创建模块 在 Node.js 中,创建一个模块非常简单,如下我们创建一个 'hello.js' 文件,代码如下: var hello = require('./hello'); hello.w

3:Node.js模块系统

原文出自:http://www.w3cschool.cc/nodejs/nodejs-module-system.html Node.js模块系统 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码.JSON 或者编译过的C/C++ 扩展. 创建模块 在 Node.js 中,创建一个模块非常简单,如下我们创建

Developer - 如何自我保证Node.js模块质量

组里正在做SaaS产品,其中一些模块(Module)是Node.js实现,这里我们主要使用Node.js实现Web Server来提供服务. 在做SaaS项目之前,组里的开发模式是传统的Deverloper + QA的模式,这是传统的协作模式,Developer负责写代码开发,当然也会有基本的自测,QA负责测试,遇到问题,提Bug给Developer去修复,Developer修复Bug后,由QA来验证并记录Bug.但这样的协作模式已不适合SaaS产品的开发,SaaS产品更新迭代快,模块众多,这就

Node.js模块封装及使用

Node.js中也有一些功能的封装,类似C#的类库,封装成模块这样方便使用,安装之后用require()就能引入调用. 一.Node.js模块封装 1.创建一个名为censorify的文件夹 2.在censorify下创建3个文件censortext.js.package.json.README.md文件 1).在censortext.js下输入一个过滤特定单词并用星号代替的函数. var censoredWorlds=["sad","bad","mad&

如何发布一个自定义Node.js模块到NPM(详细步骤)

咱们闲话不多说,直接开始! 由于我从没有使用过MAC,所以我不保证本文中介绍的操作与MAC一致. 文章开始我先假定各位已经在window全局安装了Node.js,下面开始进行详细步骤介绍: 本文本着,以极少的文字说明以及极少的代码书写为原则来给大家演示! 文章中上传的模块不具备任何意义! 一.封装node.js模块时的必须项 1.创建package.json 每一个完整封装的node模块,必须含有一个参数明确的package.json文件! 以下为package.json的最精简配置: { "n

本地安装node.js模块

一.需求 单位电脑不让上网,但是需要用到一个node.js模块,elasticdump. 二.解决 1.自己电脑上下载模块: npm install elasticdump -g 注意:必须要加 -g,因为需要全局使用.非全局的模块复制到电脑上,还没找的方法运行模块. 2.复制拷贝 a.复制 操作1步骤会默认下载到C:\Users\T470s\AppData\Roaming\npm\node_modules\elasticdump ,复制elasticdump文件夹到U盘, 再到C:\Users

Node.js 模块机制及常见面试问题解答

Node.js 模块机制采用了 Commonjs 规范,弥补了当前 JavaScript 开发大型应用没有标准的缺陷,类似于 Java 中的类文件,Python 中的 import 机制,Node.js 中可以通过 module.exports.require 来导出和引入一个模块. 在模块加载机制中,Node.js 采用了延迟加载的策略,只有在用到的情况下,系统模块才会被加载,加载完成后会放到 binding_cache 中. 面试指南 require的加载机制?,参考:模块加载机制 modu

解决node.js使用fs读取文件出错

解决node.js使用fs读取文件出错:https://www.cnblogs.com/xinsir/p/10315485.html 今天配接口,使用fs模块读取json出现了错误'no such file or directory',然后经查终于解决,特此记录. 使用nodejs的fs模块读取文件时习惯用相对路径,但是运行的时候出现了上述的错误,原因就是fs模块读取文件的相对路径是以启动server.js的位置为基准的,而不是以server.js文件的位置. 这就是这篇文章所要讲述的问题.并且