【先吐槽】
昨天把iOS刷到了8,结果WhatsAPP死活都用不了了,我又只好默默的刷回来。。。。
因为要去美国工作的事,从年初就开始各种忙,已经很久木有旅游了,整个人都不好了!
【你够了!开始吧】
1. Express框架
安装Express非常方便,可以使用
$ npm install express或
$ npm install express -g
安装,上面的会装在你使用这个命令的目录下,只能被你当年的工程使用。后面的会装在共享node-modules的目录下 (e.g: C:\ADMININSTRATOR\AppData\Roaming\npm\node_modules),这样所有的工程都可以使用。
2. 让我们开始一个最简单的Express Project吧
这里让我们偷个懒,直接使用express所提供的框架。首先你需要安装express-generator:
$ npm install -g express-generator
然后打开命令行,到你希望使用这个例子的目录下,然后使用一下命令
$ express example
这样,在你的目录下就生成了一些文件和文件夹,像这样
现在在命令行中换到此目录,输入
$ cd example
$ npm install
此时你的命令行出会出现一系列需要你安装的模块。装好以后你可以使用
$ npm start
来开始这个App。在浏览器中打开 http://localhost:3000 你就可以看到。
3. Express源代码分析
我们首先打开app.js文件。这面涵盖了最主要的逻辑。让我们来分析一下为什么我们会看到这个页面
var routes = require('./routes/index');//导入index.js
var users = require('./routes/users');//导入users.js
app.set('views', path.join(__dirname, 'views'));//设置view的文件在views文件夹中
app.set('view engine', 'jade');//使用jade框架,这是一个定义用户界面的模块
</span><span style="font-family:Microsoft YaHei;">app.use('/', routes);//在根目录下使用index.js的内容
app.use('/users', users); //在/users目录下使用user.js的内容</span>
首先我们分析route下的index.js文件,那么里面是什么呢?我们打开可以发现这个文件里的全部内容
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res) {
res.render('index', { title: 'Express' });
});
module.exports = router;
</span>
它的意思就是说,在HTTP get 服务器"/"(根目录)的情况下,在页面上渲染index.jade (这个文件在views目录下,由app.js文件中设置可以得知)。那我们继续看这个index.jade代码:
extends layout
block content
h1= title
p Welcome to #{title}
</span>
现在可以懂了吧,这里已经定义了页面要显示的东西,从index.js中我们拿到title='Express‘,所以页面上显示了'Welcome to Express'。
现在你能知道为什么你去http://localhost:3000/users 里面会显示"respond with a resource"字符了吗?