Express初步学习

简单运行步骤

1. 安装

/* 进入项目文件中*/
$ npm init
entry point: (app.js) /*指定项目入口文件*/

$ npm install express --save     /* 下载express */

2. 编写入口文件app.js

var express = require('express');

var app = express();

 app.get('/',function(req,res){
    res.send('hello world');
 });

var server = app.listen(9000,function(){    /*监听端口*/
    var host = server.address().address;
    var port = server.address().port; 
    console.log('example app listening at http://%s:%s',host,port);  /*控制台输出*/
});

3. 运行 (http://localhost:9000)

 $ node app.js         /*运行入口文件*/

简单语法

(1) 简单的express路由

var express = require('express');
var app = express();

/*路由,接受get,pust,delete等请求*/
app.get('/',function(req,res,next){
    res.send('hello');    //响应,将hello返回给浏览器页面显示
})

app.post('/', function (req, res) {
  res.send('Got a POST request');
});

app.all('/secret',function(req,res,next){
    console.log('在/secret路径下,无论是什么请求,都加载中间件');
});
  • 路由路径

    (a). // 字符串路由路径
     app.get('/random.text',function(req,res){
         .....// 处理逻辑
     });
    
    (b). // 字符串模式路由
     app.get('/ab?cd',function(req,res){     // 匹配/abcd 和/acd
         ....
     });
    
    (c). // 正则表达式路由
     app.get(/.*fly$/,function(req,res){     // 匹配以fly结尾的字符路由,如butterfly
         ...
     });
    • 路由句柄
(a). //使用一个回调函数处理路由
    app.get('/',function(req,res){
        res.send('hello');
    });

(b). // 使用多个回调函数处理路由,记得指定next对象
    app.get('/',function(req,res,next){
        console.log('response will be send by the next function');
        next();
    },function(req,res){
        res.send('hello from b');
    })

(c). // 使用回调函数数组处理路由
    var cb0 = function (req, res, next) {
      console.log('CB0');
      next();
    }

    var cb1 = function (req, res, next) {
      console.log('CB1');
      next();
    }

    var cb2 = function (req, res) {
      res.send('Hello from C!');
    }

    app.get('/example/c', [cb0, cb1, cb2]);
  • 响应方法
res.download()    // 提示下载文件
res.end()           // 终结响应处理程序
res.render()      // 渲染视图模板
res.send()         // 发送各种类型的响应

(2) express托管静态文件

app.use('/static',express.static('public'));  /*将public下的静态文件资源都托管到/static下,可以直接通过带有“/staitc”前缀的地址来访问public目录下的文件*/

例如: http://localhost:9000/static/images/logo.png 可以在浏览器直接访问该logo

(3) 渲染html文件

res.render()  /*渲染html*/
res.sendFile()  /*直接对外输出html文件*/

express.Router

// 写在前面
(1) 可使用app.route()创建路由路径的链式路由句柄

app.route('/book')           /*路径在一个地方指定,有助于创建模块化的路由,减少代码冗余和拼写错误*/
  .get(function(req, res) {
    res.send('Get a random book');
  })
  .post(function(req, res) {
    res.send('Add a book');
  })
  .put(function(req, res) {
    res.send('Update the book');
  });

express.Router类创建模块化,可挂载的路由句柄。Router实例是一个完整的中间件和路由系统.

// 在app目录下创建birds.js
    var express = require('express');

    var router = express.Router();     // 实例化

    // 该路由使用的中间件
    router.use(function timeLog(req,res,next){
        console.log("time:",Date.now());
        next();
    });

    // 定义网页的路由
    router.get('/',function(req,res,next){
        res.send('这是首页');
    })

    router.get('/about',function(req,res,next){
        res.send('这是详情页');
    })

    module.exports = router;

然后再应用中加载路由模块

var birds = require('./birds');
...
app.use('/birds', birds);

应用即可处理localhost:9000/birds/和localhost:9000/birds/about的请求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习Node Express后台管理项目需要掌握Node.js和Express框架的基础知识。首先,需要了解Node.js是什么,它是一个基于JavaScript的运行时环境,可以用来构建服务器端应用程序。然后,需要学习Express框架,它是一个基于Node.js的Web应用程序开发框架,可以简化服务器端应用程序的开发流程。 学习Node Express后台管理项目的关键步骤包括:创建项目,配置路由,处理请求和响应,连接数据库,实现用户认证和授权,设计并实现界面等。需要掌握Express框架的常用中间件、路由和控制器的使用,以及如何与数据库进行交互,如何实现用户认证和授权等。 在学习过程中可以通过阅读官方文档、参考教程和实际操作来深入理解Node Express后台管理项目的开发流程。另外,还可以利用开源项目进行学习和实践,例如使用GitHub上的相关项目来学习项目结构和代码规范,提高自己的编码能力。 学习Node Express后台管理项目还需要注重实践,通过自己动手实现项目功能来加深理解和掌握技能。同时,要注重与他人交流和合作,可以参加相关的技术社区或线下活动,与他人交流经验和学习成果,不断提升自己的技术水平。 总之,学习Node Express后台管理项目是一个系统全面的学习过程,需要持续不断地学习、实践和与他人交流,才能成为一名优秀的后台管理项目开发人员。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值