node.js之Express.js牛刀小试

最近也在学习node.js,所以特来分享,Express是当前非常流行的一个node web框架。利用这个框架,我们可以非常方便的建立一个web站点。好吧,那接下来看看怎么使用这个框架把,gogogo~~~
先让我们开始了解一下 express。首先下载 express:

npm install express --save。

如果电脑被墙了话可以用国内的淘宝镜像 :

npm install -g cnpm --registry=https://registry.npm.taobao.org

然后就用cnpm代替npm命令了,速度可想而知很快的。
然后创建server.js,输入以下代码:

var express = require('express');
var app = express();
app.get('/', function(req, res){
    res.send('hello world');
});
app.listen(1337);
console.log('Server running at http://127.0.0.1:1222/');

这样,我们就可以访问 http://127.0.0.1:1337

除了url路由外,整个web服务实际上涉及到了很多很多的内容,让我们简单的整理一下可能会涉及到的内容:
  • url路由,url参数读取,以及表单读取
  • 对于不同http方法(GET、POST、PUT)的分发
  • 自动填写HTTP头,例如Content-Type
  • cookie、session的管理
  • 用户管理,包括用户名判重、密码加密和保持登陆
  • 模板渲染,将动态的脚本渲染成浏览器可识别的HTML
  • 静态文件服务
  • 用户上传文件
  • 国际化,创建语言无关的站点
  • MVC支持(良好的代码结构可极大的提高代码的可读性和可维护性)
现在来新建一个express项目

1.先安装这个东西

npm install express-generator -g

2.建立一个名叫base的Express项目,并进入这个目录:

express base
cd base

3.运行npm install安装依赖

4.通过node ./bin/www来运行我们的项目

5.用浏览器即可打开我们的应用: http://localhost:3000 。

现在让我们来看一下目录结构:

node.js之Express.js牛刀小试_第1张图片
目录结构图

app.js中定义并导出了整个应用;

  • /bin/www导入并执行了app.js中定义的应用,它是一个入口;
  • node_modules则是我们npm install安装的依赖所在目录;
  • package.json定义了我们的应用,应用也是一个npm包,有着一系列的依赖;
  • public下存放的是静态文件,这些文件一旦客户端请求,我们会原样地返回(例如客户端javascript、css);
  • routes则是项目最核心的部分,它拿到HTTP请求并返回HTTP响应。它最终被app.js引入;
  • views则是视图模板,就是HTML的模板,用来产生动态页面。至于什么是模板,现在可以不去管它。

现在,在app.js中app.use('',...)之前,加入一个控制器:

app.get('/hello', function(req, res, next){
     res.send('Hello, Express!');
});

然后重启服务器,访问 http://localhost:3000/hello 。之后,我们可以看到一行文字:

Hello, Express!

例如,我们网站的一部分逻辑是账户的功能:登录、注册、找回密码等。这些页面可以分为一组,作为单独的Router引入到app.js中。这个Router不妨命名为account.js:
这个account.js在之前目录图片出现过

// file: routes/account.js
var express = require('express');
var router = express.Router();
router.get('/login', function(req, res){
    return res.send('这里将会是登陆页面');
});
router.get('/register', function(req, res){
    return res.send('这里将会是注册页面');
});
// 其他的账户控制器
module.exports = router;

最后,在app.js中引用该Router:

app.use("/account", require('./routes/account'));

重启服务器,访问 http://localhost:3000/account/login 与 http://localhost:3000/account/register
访问第一个地址可以看到页面会出现:

这里将会是登陆页面

访问第二个地址可以看到页面会出现:

这里将会是注册页面

介绍到这里,一个简单地Express框架就简单入门了
如果是mac用户提示没有权限可以在命令前面加入sudo,或者速度比较慢比如:

sudo npm install express --save

以后持续更新,多多指教

你可能感兴趣的:(node.js之Express.js牛刀小试)