我在写componer的过程当中,但愿提供一个本地服务器,用来实现preview功能,所以粗浅的学习了express的用法,而且发现它多是最简单最好用的轻便服务器框架了。这篇文章就向入门级的同窗介绍一下如何用express搭建本身的最简单的服务器。php
不管是windows仍是*nix系统,均可以很是方便的安装node和npm。windows下只须要安装node官网提供的.exe执行文件,就能够把node和npm都安装好,Linux下通常仍是须要编译安装才能保证使用本身想要的版本,npm也须要独立安装,npm通常能够经过apt, yum直接安装。css
当你有了node以后,你能够作的事太多了。并且你应该很是熟悉JavaScript,因此,用JavaScript实现之前php,Java们实现的一些功能吧。html
建立一个目录做为项目目录,在里面建立一个index.js,内容以下:前端
var express = require('express') var app = express() app.get('/', function (req, res) { res.send('Hello World!') }) app.listen(3000, function () { console.log('Example app listening on port 3000!') })
编程的部分就完结了,接下来在命令行里面进入这个目录,运行下面命令:node
npm install express node index.js
这样服务器就搭建好了,使用浏览器访问localhost:3000就能够看到"Hello World!"的字样。nginx
上面的代码并不能让你的服务器提供静态文件服务,也就是说你的图片和脚本都没有办法经过浏览器访问。经过express的中间件能够轻松实现静态文件服务。express
app.use(express.static('public'))
把上面这段代码加到app.listen以前。在项目目录下建立public目录,而且把静态文件都放进去,从新运行node index.js
这个命令。因而,html、图片也能够访问了。npm
上面的代码中,get
是路由部分,你能够根据本身的须要,不断的添加新的url,在这个新的url返回不一样的内容。编程
var fs = require("fs") var cotnent = fs.readFileSync("a.txt") app.get("/list", function(req, res) { res.send(content) })
把服务器上的某个文件内容显示给用户。windows
express还提供post,put,delete等方法,对应restful api的method,所以,node服务器虽然性能上不能运行占用内存很大的程序,可是能够用来做为轻量级请求的中转服务器。并且npm有不少包,功能完善,能作不少求之不得的服务。例如在项目里面用npm安装YUI Compressor,在程序里require进来。经过post方法加载一个路由,当用户朝这个url发送js或css代码时,就把通过压缩后的代码返回给用户。
当node做为中间服务器愈来愈流行,甚至取代传统服务器时,咱们之前须要在Apache,nginx和其余服务端语言,好比php,中间折腾的日子就结束了。经过本文的例子,你能够很是明显的感受到,对于express而言,它把服务器和程序完整结合在一块儿了。node自己不仅仅是服务器,它能够实现不少意想不到的功能,可是从最初的出发点而言,node就是想实现这样一个轻量级的服务器。经过简单几段代码就能够摆脱服务器配置等各类工做,不得不说node为前端开发人员带来了最大的便利,这样,咱们也能够在服务端根据本身的须要写想要的服务了。