Node.js
前提
- 环境:windows7
- 下载地址:http://nodejs.org/download/
安装
官网下载一个安装文件点击下一步安装完成即可.
验证安装是否成功:node -v
基本HTTP服务器
c:/http.js
//http是内置模块、直接引入 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(8080); console.log('Server running on port 8080.');
运行
访问
http://localhost:8080
小结
该例中所创建的并不是一个功能全面的HTTP服务器,它并不能处理任何HTML文件、图片。事实上,无论你http://localhost:8080/后添什么,请求后,它都将返回“Hello World”
express框架【处理GET和POST请求】
Express是对Node.js的一个高性能的封装,是Node.js上最流行的高性能Web开发框架。
如果你用过Ruby的Sinatra.rb, 会觉得Express非常熟悉。Express作者是参考sinatra, 写了一个基于node.js的实现。
安装
第一步:在任意磁盘创建hello-world目录
第二步:进入hello-world目录执行:npm info express version 查看express最新版本,可以看到版本号
第三步:在hello-world目录中新建文件名为:package.json,内容如下,主要将第二步的版本号填入
{ "name": "hello-world", "description": "hello world test app", "version": "0.0.1", "private": true, "dependencies": { "express": "3.3.8" } }
package.json文件包含了应用程序的基本信息。其中“dependencies”部分描述了你想安装模块的名称和版本。该案例,接受Express 3.3.8版本,如果是3.3表示接受3.3相关的任何版本。你可以在该部分列出你想要的所有依赖。 如果你想安装其他的依赖模块,类似安装express一样,可以在dependencies中定义你的模块名称和版本,执行npm install即可安装,一旦找到,即可安装所列出的所有依赖。
第四步:在hello-world目录下执行:npm install进行安装.
一旦npm安装依赖包完成,项目根目录下会出现node_modules的子目录。项目配置所需的express包都存放于这里。
说明:第三步和第四步还有更简单的操作方式,直接输入命令:npm install express,会出现如下画面直到安装完成
第五步:nmp ls验证express是否安装完成
一:处理GET请求
c:/hello-world/app.js
var express = require('express'); var app = express(); //接着,我们可以使用app.动词()定义路由。 //比如使用"GET /"响应"Hello World"字符串,因为res、req都是Node提供的准确的对象,因此你可以调用res.pipe() //或req.on('data', callback)或者其它。 //app.get('/hello.txt', function(req, res){ // var body = 'Hello World'; // res.setHeader('Content-Type', 'text/plain'); // res.setHeader('Content-Length', body.length); // res.end(body); //}); //ExpressJS框架提供了更高层的方法,比如res.send(),它可以省去诸如添加Content-Length之类的事情。如下: //处理GET请求 //http://127.0.0.1:8080/hello/?name=wujintao&email=cino.wu@gmail.com app.get('/hello/*', function(req, res){ console.log(req.query.name); console.log(req.query.email); res.send('Get Over'); }); //以上表示凡是url能够匹配/hello/*的GET请求,服务器都将向客户端发送字符串“Hello World" //app.get('/', function(req, res){ // res.render('index', { // title: 'Express' // }); //}); //上面的代码意思是,get请求根目录则调用views文件夹中的index模板,并且传入参数title为“Express”,这个title就可以在模板文件中直接使用。 //现在可以绑定和监听端口了,调用app.listen()方法,接收同样的参数,比如: app.listen(8080); console.log('Listening on port 8080');
运行
GET请求
请求:http://127.0.0.1:8080/hello/?name=wujintao&email=cino.wu@gmail.com
通过Chrome的DEV HTTP CLIENT插件请求结果如下:
服务器日志信息如下:
二:处理POST请求
c:/hello-world/app.js
var express = require('express'); var app = express(); app.configure(function() { //默认情况下Express并不知道该如何处理该请求体,因此我们需要增加bodyParser中间件,用于分析 //application/x-www-form-urlencoded和application/json //请求体,并把变量存入req.body。我们可以像下面的样子来“使用”中间件[这个保证POST能取到请求参数的值]: app.use(express.bodyParser()); }); //处理POST请求 //name和email是POST请求域中的参数名 app.post('/hello', function(req, res) { console.log(req.body.name); console.log(req.body.email); res.send('Post Over'); }); post_mtd = function(req,res){ res.send('我是Wujintao'); } //其中这两种形式中的function均可以定义在外部,然后引进方法名即可。其中方法post_mtd要在引用其前定义 app.post("/wujintao",post_mtd); //除了app.get、app.post这种形式外,还可以采用:app.all在这里all表示get,post等任何一种请求方式,当然也可以指定为某种特定的请求方式。 //或者app['get']('/path', function(req,res));这种形式。 //现在可以绑定和监听端口了,调用app.listen()方法,接收同样的参数,比如: app.listen(8080); console.log('Listening on port 8080');
运行
POST请求
请求:http://127.0.0.1:8080/hello
通过Chrome的DEV HTTP CLIENT插件请求结果如下:
服务器日志信息如下:
至此,HTTP服务器处理GET和POST请求已经详细讲完
参考资料
http://www.nodejs.org/api/http.html#http_http_request_options_callback
http://www.nodejs.org/api/
https://github.com/visionmedia/express
http://expressjs.com/guide.html
相关推荐
本文主要介绍NodeJS+Express+Mysql 实现POST和GET请求的增删改查,后续会在博客发布详细说明,可以关注一下
本文实例讲述了Node.js + express实现上传大文件的方法。分享给大家供大家参考,具体如下: 对于大文件的上传我们首先要引入一个叫做 multer 的库: npm install --save multer 关于这个库,大家可以查阅官方文档...
这是一个简单的node.js + express.js + jade应用程序,演示了使在上运行所需的OAuth 2.0授权页面的简单实现。 档案文件 该项目由两个主要文件组成: app.js ,它处理服务器并包含两个路由: GET /authorize ,向...
Node.js Express框架GET、POST、COOKIE、上传、数据库等测试实例
# web服务器说明文档(node+express) ### 1.首先自定义数据文件,进行上传,上传地址:...请接口求方式post,请求接口固定为 `'/get_data'`,参数为上传的文件名称`name: test_data`
使用Node JS和frameword Express实现了Web服务器。 登录 { "user": "", "password": "", "tipo_utente": "" } 方法POST /signup POST /login 顾客 { "user": "", "nome": "", "cognome": "", "pagamento": ...
Node.js / Express.js MongoDB /猫鼬 智威汤逊 怎么跑 将variables.env.sample复制到variables.env并对其进行自定义 npm start // or npm run watch 数据样本: npm run seed npm run seed:delete npm run seed:...
GET-POST-Requests-in-Node.js-Using-Express-... Node.js 中使用 Express 4 的 GET 和 POST 请求 ##教程 ##要求 节点和 npm ##安装 克隆仓库:git clone 安装依赖项:npm install 启动服务器:节点 server.js
在此应用程序中,它将创建一个本地主机服务器,并使用GET,POST,PUT和DELETE修改成员API。 这个特殊的成员API是一个以星际大战为主题的API(可能是破坏者!) 这也是使用Express Handlebars制成的。 仓库可以在...
node.js中的express框架,拿到get post 请求传过来的参数
node index.js或node . 简而言之 发送报道 使用以下性质的代码将您的覆盖范围数据HTTP POST到此服务器: exports . loadCoverage = function ( driver , yourHost , yourPort ) { return async function ( cb ) {...
支持通过GET,POST,PUT,DELETE进行收集和特定项请求(当前未实现PATCH)资源资源使用以下几种资源开发: Express( ) 适用于NodeMySQL( ) RESTAPI教程( ) Express 4中的路由器( ) 使用Node和Express 4构建...
express框架中的app.use和app.get/app.post mock server 介绍 mock server的实现思路 一、express框架初步介绍 关于express框架的介绍,这里我引用软件开发网的简介: Express是一个简洁而灵活的node.js web框架...
模块 1.- 服务器 JavaScript 和 node.js 简介。 语句、变量、布尔值、数字、字符串和函数 模块 2.- 服务器 JavaScript 和 node.js 简介。 循环、预定义类、对象、属性和方法; 原型和类; 数组; JSON; 对象和闭包等...
Node.js-Express-MongoDb-Build-a-CRUD-Rest-Api-for-beginners #初学者指南 #Mongodb 连接 #CRUD #Api 开发 #express 生成器 npm 安装猫鼬 npx express-generator 下载它 我的 nodemon 启动 使用邮递员测试 CRUD...
Quiz 2015项目:使用HTML5,Javascript和node.js开发云服务 作者: DavidMonnéChá... GET和POST表单。 隐藏的参数。 使用git和GITHUB进行项目版本管理。 项目,工作空间和版本(提交)。 项目的树木和树枝。 通过GIT
Node.js 快递js MongoDB /猫鼬 路线 该API具有以下主要路径(端点): / api /对应于索引资源 / api / sign-up对应于注册资源 / api / login对应于登录资源 / api / users对应于用户资源 / api / notes对应于...
节点JS Java脚本 跑步 配置数据库连接字符串 您需要转到.env文件,然后根据课程中的说明将连接字符串添加到mongoDB数据库中。 您可以使用以下url,但需要获取在数据库中创建的username , password和dbname 。 ...
Express之上的Node.js和TypeScript框架。 它提供了许多装饰器和准则来编写您的代码。 这是什么 Ts.ED是Express / Koa.js之上的Node.js和TypeScript框架。 Ts.ED是Express / Koa之上的框架,用于使用TypeScript(或...
该应用程序基于使用Node.js和Express构建的REST API。 猫鼬用于连接数据库。 数据库仅存储评论,通过对Yelp进行API调用实时加载餐厅数据。 已定义API路线以搜索餐厅,获取特定餐厅的详细信息。 这些API不会与...