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


Posted in Javascript onFebruary 16, 2017

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时会

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

这就是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")
 //监听成功得回掉方法
})

这样就定制好了路由了

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

Javascript 相关文章推荐
给网站上的广告“加速”显示的方法
Apr 08 Javascript
jQuery.event兼容各浏览器的event详细解析
Dec 18 Javascript
js中string转int把String类型转化成int类型
Aug 13 Javascript
JS代码实现根据时间变换页面背景效果
Jun 16 Javascript
angular ngClick阻止冒泡使用默认行为的方法
Nov 03 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
May 28 Javascript
Ionic3实现图片瀑布流布局
Aug 09 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
@angular前端项目代码优化之构建Api Tree的方法
Dec 24 Javascript
详解基于vue-cli3快速发布一个fullpage组件
Mar 08 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
Nov 09 Javascript
Element InfiniteScroll无限滚动的具体使用方法
Jul 27 Javascript
Angular实现跨域(搜索框的下拉列表)
Feb 16 #Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
Feb 16 #Javascript
js模态对话框使用方法详解
Feb 16 #Javascript
javascript获取以及设置光标位置
Feb 16 #Javascript
JavaScript实现翻页功能(附效果图)
Feb 16 #Javascript
浅谈$_FILES数组为空的原因
Feb 16 #Javascript
原生js实现秒表计时器功能
Feb 16 #Javascript
You might like
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
PHP 实现重载
2021/03/09 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
让你的CSS像Jquery一样做筛选的实现方法
2011/07/10 Javascript
JavaScript 基础篇(一)
2012/03/30 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
浅析Git版本控制器使用
2017/12/10 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
python3实现弹弹球小游戏
2019/11/25 Python
Python networkx包的实现
2020/02/14 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
酒店管理专业自荐信
2014/05/23 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
党员三严三实心得体会
2014/10/13 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
建党伟业电影观后感
2015/06/01 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python
python自动化调用百度api解决验证码
2021/04/13 Python