欢迎来到天天文库
浏览记录
ID:8978422
大小:28.24 KB
页数:15页
时间:2018-04-13
《express是目前最流行的基于node》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Express是目前最流行的基于Node.js的Web开发框架,提供各种模块,可以快速地搭建一个具有完整功能的网站。Express的上手非常简单,首先新建一个项目目录,假定叫做hello-world。$mkdirhello-world进入该目录,新建一个package.json文件,内容如下。{"name":"hello-world","description":"helloworldtestapp","version":"0.0.1","private":true,"dependencies":{"express":"4.x"}}上面代码定义了项目的名称、描述、版本等,
2、并且指定需要4.0版本以上的Express。然后,就可以安装了。$npminstall安装了Express及其依赖的模块以后,在项目根目录下,新建一个启动文件,假定叫做index.js。varexpress=require('express');varapp=express();app.use(express.static(__dirname+'/public'));app.listen(8080);上面代码运行之后,访问http://localhost:8080,就会在浏览器中打开当前目录的public子目录。如果public目录之中有一个图片文件my_image.pn
3、g,那么可以用http://localhost:8080/my_image.png访问该文件。你也可以在index.js之中,生成动态网页。//index.jsvarexpress=require('express');varapp=express();app.get('/',function(req,res){res.send('Helloworld!');});app.listen(3000);然后,在命令行下运行下面的命令,就可以在浏览器中访问项目网站了。nodeindex默认情况下,网站运行在本机的3000端口,网页显示HelloWorld。index.js中的a
4、pp.get用于指定不同的访问路径所对应的回调函数,这叫做“路由”(routing)。上面代码只指定了根目录的回调函数,因此只有一个路由记录,实际应用中,可能有多个路由记录。这时,最好就把路由放到一个单独的文件中,比如新建一个routes子目录。//routes/index.jsmodule.exports=function(app){app.get('/',function(req,res){res.send('Helloworld');});};然后,原来的index.js就变成下面这样。//index.jsvarexpress=require('express');
5、varapp=express();varroutes=require('./routes')(app);app.listen(3000);运行原理底层:http模块Express框架建立在node.js内置的http模块上。http模块生成服务器的原始代码如下。varhttp=require("http");varapp=http.createServer(function(request,response){response.writeHead(200,{"Content-Type":"text/plain"});response.end("Helloworld!");
6、});app.listen(3000,"localhost");上面代码的关键是http模块的createServer方法,表示生成一个HTTP服务器实例。该方法接受一个回调函数,该回调函数的参数,分别为代表HTTP请求和HTTP回应的request对象和response对象。对http模块的再包装Express框架的核心是对http模块的再包装。上面的代码用Express改写如下。varexpress=require('express');varapp=express();app.get('/',function(req,res){res.send('Helloworl
7、d!');});app.listen(3000);varexpress=require("express");varhttp=require("http");varapp=express();app.use(function(request,response){response.writeHead(200,{"Content-Type":"text/plain"});response.end("Helloworld!");});http.createServer(app).listen(1337);比较两段代码,可以看到它
此文档下载收益归作者所有