关于express框架的学习

  • 版本概念

    • 2.10.2

      第一个是大版本,第二个增加新功能,第三个修复bug

1. 安装

npm init -y
npm install --save express

2. hello world

var express=require("express")
var app=express() //init server
app.get("/",function(req,rep){ //request root url
    /*rep.send("hello express")*/ //response the client
    rep.send("中文 is ok!") //response the client with chinese
})


app.listen(8080,function(){
    console.log("The server is running in 8080 port")
})

具体使用

  • 公开静态访问资源目录

:warning:现在觉可以通过url访问public目录下的所有文件​

代码完成之后服务器自动完成重启的问题

基于nodemon模块监视程序的运行,并且自动重启

路由操作

请求方法:ideograph_advantage:请求路径+请求方法

配置模板引擎

:crescent_moon:express-art-template模板是依赖于art-template的

express为对象配置了render模板函数,但是在没有配置express-art-template引擎情况下时不可以使用render函数的

  • 用法

    当请求根目录时候,响应对象会去读取views目录的上一级目录的index.html文件,文件后缀是html而不是art的原因是因为在设置express模板引擎的时候,设置好了,第二个参数用于模板数据的填充与art-template模板的用法是一致的

    修改默认的模板路径;

基于GET请求实现留言板

  1. 基于express-art-template模板引擎

    1. render中封装好了文件读取函数,和模板替换,模板文件的读取默认相对于views目录

      1. 请求对象req中封装好了get参数,不需要使用url模块进行操作了

        1. 响应对象封装好了重定向函数,不需要http的Location函数了

基于POST请求实现留言板

其实只需要修改对页面的请求方式,express没有默认的获取post参数的函数

基于其他插件来实现 **

接着在对同一个文件不同的请求的时候,对应不同的解析方法

2.基本的模板

  • app.js模板

  • route.js路由文件

  • 与业务相关的student.js文件,使用MongoDB进行处理

Last updated

Was this helpful?