1.express是什么
Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。
2. express安装
在项目根目录下运行npm install express --save
3. 路径问题
- /path => 绝对路径
- c:/path => 绝对路径
- ./path => 相对路径
- path => 相对路径
4. express 简单实例
var express = require('express')
var app = express()
//指定路由
app.get("/", function (req, resp) {
resp.send("hello world")
})
app.get("/about", function (req, resp) {
resp.send("about me")
})
app.listen(3000, function () {
console.log("app is running")
})
//指定公开目录 -- 用户可以直接访问
app.use('/public/',express.static('./public/'))
5. nodemon
使用nodemon插件,在修改代码后,可以自动重启node服务器
安装:npm install --global nodemon
运行:nodemom app.js
6. 直接访问静态资源
//直接请求静态资源
app.use(express.static('./public/'))
//请求静态资源路由以'/public/'开始
app.use('/public/',express.static('./public/'))
7. 使用模版art-template
Express为response提供了一个render('html模版',{模版数据})方法来直接渲染文件(art或者html结尾的文件).
默认情况下,视图文件放在views文件夹下。如果想要修改默认目录,可以使用app.set("views', render 函数的默认路径)
来改变默认的路径。也可以直接在render函数中,指定文件详细的路径,如: resp.render("public/index.art")
//配置使用art-template
//engin 的第一个参数指定文件的后缀名,要与render里面文件的后缀名保持一致
app.engine("art",require('express-art-template'))
app.get("/", function (req, resp) {
resp.render("404.art")
})
8. body-parser
express 中不能解析post请求,要引入第三方插件"body-parser": npm install --save body-parser
, 这样就可以直接使用resp.body()
; 对GET请求,express框架直接封装了API,可以使用req.query()获取到请求参数。
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json())
9. router文件使用
- 创建单独的router.js文件
var express = require('express')
var router = express.Router()
router.get('/',function(req,resp){
})
module.exports = router
- 在服务文件里, 挂载路由文件
var router = require('./router')
var express = require('express')
var app = express()
app.use(router)
10. 回调函数的使用,处理异步操作
function fn(callback){
setTimeout(function(){
var data = 'hello'
callback(data)
},1000)
}
...
fn(function(data){
console.log(data)
})
11. express 404 页面
app.use(function(req,res){
//404处理
})
网友评论