Node.js服务器创建和使用
1.使用zlib模块对服务器端响应压缩
|
//1.1引入zlib模块 const zlib=require('zlib'); //1.2 设置内容的压缩形式 'Content-Encoding': 'gzip' //1.3创建gzip压缩 var gzip=zlib.createGzip(); //1.4使用读取流读取文件并响应到浏览器 fs.createReadStream('tmooc.html').pipe(gzip).pipe(res) |
2.express
基于nodejs平台,快速、开放、极简的web开发框架
www.expressjs.com.cn 中文官网
安装express
npm install express
创建web服务器
|
const express=require('express');//引入express模块 var app=express(); //创建web服务器 app.listen(8080); //监听端口 |
(1)路由
浏览器向web服务器发请求,web服务器根据请求的url和请求的方法来作出响应。
三要素:请求的url,请求的方法,响应(回调函数)
res 响应的对象
send() 设置并发送响应的内容,路由中只能使用一次
sendFile() 响应文件,要求使用绝对路径 __dirname
redirect() 响应的重定向,跳转到另一个url
req 请求的对象
method 请求的方法
url 请求的url
headers 请求的头信息
query 获取请求的查询字符串形式的数据,格式为对象
params 获取路由传递的数据
|
设置路由中接收数据的名称 app.get('/shopping/:price', function(req,res){ req.params //获取传递的数据,格式为对象 }); 浏览器传递数据 http://127.0.0.1:8080/shopping/4999 |
获取post请求的数据
|
req.on('data', function(mydata){ //通过事件 mydata.toString() //格式为查询字符串,需要解析为对象 }); |
get和post请求
在浏览器地址栏直接输入url,默认就是get请求,传递数据使用查询字符串,浏览记录可能被浏览器缓存。
post请求需要使用表单提交来完成(现阶段),获取数据使用事件
商品模块 product
列表 删除 修改
/product/list /product/delete /product/update
用户模块 user
列表 删除 修改
/user/list /user/delete /user/update
3.路由器
路由在使用的过程中,不同模块下的路由可能出现相同的url; 把同一个模块下的路由放到特定的路由器。
(1)创建路由器
|
//1.路由器是express下的一个功能 const express=require('express'); //2.创建路由器对象 var router=express.Router(); //3.往路由器中添加路由 router.get('/list',function(req,res){ res.send('这是用户列表'); }); //4.导出路由器对象 module.exports=router; |
(2)在web服务器中使用
|
//2.1引入路由器模块 const userRouter=require('./user.js'); //2.2使用路由器,挂载到特定的url app.use('/user',userRouter); |
Node.js服务器创建和使用的更多相关文章
- 使用免费 mongodb数据库 + 免费node.js服务器搭建小程序接口
由于微信的小程序只支持不带端口的域名接口,不支持IP地址和接口,所以我们需要映射到80端口并绑定备案过的域名才能被微信小程序访问到.简单点就是接口需要 https 协议才行,找了许久的免费的数据库与n ...
- 搭建一个简单的node.js服务器
第一步:安装node.js.可以去官网:https://nodejs.org/en/进行下载. 查看是否成功,只需在控制台输入 node -v.出现版本号的话,就证明成功了. 第二步:编写node.j ...
- 本地Vue项目跨域请求本地Node.js服务器的配置方法
前言:跨域请求是在本地开发时经常遇到的需求,也很简单,只是几句代码配置一下的问题.我初次配置跨域请求时由于官方的说明太简洁,找到的教程又落伍,调试了一番并没有解决问题,到最后解决问题,已花费了很多时间 ...
- node.Js学习-- 创建服务器简要步骤
1.创建项目目录 mkdir ningha(文件夹名)npm init 初始化项目 获得package.json 2..在node.Js命令行操作进入到文件所在目录 3.输入browser-sync ...
- 使用Node.js简单创建一个服务器
首先,我们要了解Node.js不是一种语言,它只是一个除了浏览器之外的,可以运行js的环境. 其次,Node能做些什么 ? web服务器. 命令行工具. 网络爬虫. 桌面应用程序开发等 3.接下 ...
- Node.js之创建应用
1.使用Node.js时,不仅仅在实现一个应用,同时实现了整个HTTP服务器: 2.Node.js由下列几部分组成: (1)引入required模块:我们可以使用require指令来载入Node.js ...
- 建立一个node.js服务器(使用express搭建第一个Web环境)
一.官网下载node.js 下载地址:https://nodejs.org/en/download/ 根据向导,下一步安装就可以了! 二.使用express搭建Web环境 express是一个开源的n ...
- 在腾讯云(windows)上搭建node.js服务器
1:安装Node.js 使用MSI文件,并按照提示安装node.js,默认情况下,安装程序将 Node.js 发行到 C:\Program Files\nodejs. 但这里我们需要修改安装路径到:D ...
- Node.js:创建应用+回调函数(阻塞/非阻塞)+事件循环
一.创建应用 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi.从这个角度看,整个"接收 HTTP ...
随机推荐
- memcache雪崩
缓存雪崩一般是由某个缓存节点失效,导致其他节点的缓存命中率下降, 缓存中缺失的数据(memcache经典场景,当有一个客户端的服务请求过来的时候,首先去查memcache,memcache里面是否缓存 ...
- 小米Note 10 Lite海外发布 无缘中国市场
[TechWeb]5月1日消息,昨日晚间,小米Note 10 Lite在海外亮相.小米市场部副总经理臧智渊在微博透露,小米Note 10 Lite 6GB+64GB版售价349欧元(约合人民币2700 ...
- ASP.NET Core 找不到 npm指令异常
1.错误再现 利用VS2019预览版创建ASP.NET Core 的单页面Web程序 创建后直接运行,出现如下错误 Ensure that 'npm' is installed and can be ...
- swift 3.0字符串的简单使用
let str:String = "12314124" 获取某个指定位置的元素 print(str.characters[str.index(str.startIndex, off ...
- Netty随记之ChannelInboundHandlerAdapter、SimpleChannelInboundHandler
ChannelInboundHandlerAdapter ChannelInboundHandlerAdapter是ChannelInboundHandler的一个简单实现,默认情况下不会做任何处理, ...
- NodeJS实现websocket代理机制
使用的模块 ws http http-proxy 主要通过htt-proxy实现中转 启动websocket服务 var WebSocketServer = require('ws').Server; ...
- POJ 1176 Party Lamps&& USACO 2.2 派对灯(搜索)
题目地址 http://poj.org/problem?id=1176 题目描述 在IOI98的节日宴会上,我们有N(10<=N<=100)盏彩色灯,他们分别从1到N被标上号码. 这些灯都 ...
- 蓝色展开收缩悬浮QQ客服代码
放在我的博客首页上的的预览图: 在文章区的预览图如下: 代码如下: <div class="scrollsidebar" id="scrollsidebar&quo ...
- js数组中返回具有某个属性具有特定值的对象
const drDataArr = [{ date: 0, type: '心率', value: 82 },{ date: 1, type: '心率', value: 80 },{ date: 2, ...
- OSG程序设计之更新回调
更新回调(Update Callback)涉及到一个类:osg::NodeCallback.这个类重载了函数调用操作符.当回调动作发生时,将会执行这一操作符的内容. 如果节点绑定了更新回调函数,那么在 ...