广州明生堂生物科技有限公司


node学习记录之搭建web服务器教程

网络编程 node学习记录之搭建web服务器教程 06-22

web服务器的基本知识

功能:1.接收HTTP请求(get,post,delete,put)2.处理HTTP请求

常见的web服务器架构:

1. Nginx/Apache:负责接收http请求,确定谁来处理请求,并返回请求的结果

2. php-fpm/php模块

常见得到请求

1.请求文件:包括要处理的静态文件

2.完成特定的操作,如登录,获取特定数据等等

使用http创建web服务器

//引入nodejs的核心模块http
var http = require('http') ;
//创建一个http实例
var reqHandler = function(req,res){
 res.end("我全部接受完了") //用来表示已经对响应内容全部接收
}
var web = http.createServer(reqHandler());
web.listen(666)
console.log("http runnibg on http://localhost:666")

运行方法在命令行中 输入node httptest.js即可

使用express创建web服务器

//引入模块
var express = require("express") ;

var app = express() ;

//通过路由控制响应;
app.get('/',function(req,res){
 res.end("mingming love dama")
})
app.listen(666 , function(){
 console.log('express is running')
}) ;

效果同上

静态文件

app.use(express.static('./public'))

以./public作为静态文件仓库的起始位置。

路由

将不同的请求分配给响应的处理函数

三种路由的方法 :1) path方法 2)Router方式 3)route

1. path方法

app.get('/test',function(req,res){
 res.send("id: "+req.query.id+" password: "+req.query.password);
})

当我们请求http://localhost:3000/test?id=120&password=11001时会

查看图片  

这就是path方法设置路由。

2. Router方法 

var express = require("express") ;

var app = express();
app.use(express.static('./public'))
//引入路由
var router = express.Router() ;
router.use(function log(){
 console.log('Time: ', Date.now());
})
//调用路由
router.get('/',function(req,res){
 res.send('Birds home page');
})
router.get('/about',function(req,res){
 res.send('Birds about page')
})
router.get('/test',function(req,res){
 res.send('Birds test page')
})

app.use('/bird',router)
app.listen(3000,function(){
 console.log("express is running")
 //监听成功得回掉方法
})

这样就定制好了路由了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持积木网。

gulp加批处理(.bat)实现ng多应用一键自动化构建
批处理常用常见的批处理文件有.bat文件,可用文本编辑器直接编辑内部代码,运行也比较方便,windows平台直接双击执行即可,具体请自行了解。需求背

利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
前提Node.js6.3+,这个可上Node.js官网自行下载;Chrome55+.如果您本地的chrome升级到最新版后还是55,可以从此处下载:ChromeCanary,亲测可行。配置就目前来说,

详解nodejs中exports和module.exports的区别
require用来加载代码,而exports和module.exports则用来导出代码。但很多新手可能会迷惑于exports和module.exports的区别,为了更好的理解exports和module.exports的关


编辑:广州明生堂生物科技有限公司

标签:路由,方法,文件,服务器,静态