Node.js(自动重启服务器 /模板引擎/crud/封装异步)

nodemon 自动重启服务器,不用手动 ctrl +c 退出, node xx.js

npm instal --global nodemon

 使用时将 node 替换成 nodemon 即可。

 

 

在express框架 中使用art-template 模板引擎:

安装:

npm install art-template --save
npm install express-art-template --save

//空格同时安装多个
npm install art-template express-art-template --save

 注意:安装art-template 是由于express-art-template依赖这个它

配置模板引擎:

app.engine('html', require('express-art-template'))
  • 参数一:需要使用art-template 模板引擎 渲染的文件后缀名
  • 参数二:模板引擎对象

使用:

 res.render('需要渲染的模板页面',{ 模板数据}) 
 res.render('404.html')
  • 参数一:模板页面。express会默认到 views 目录下查找 该模板页面(开发中约定视图文件放到views中)
  • 参数二: 模板数据可选,如果没有就直接渲染

注意:response.render()是渲染方法 是加载了模板引擎才可以使用。

           如果要修改views 的默认目录。 app.set('views', 目录路径)

            response.redirect('页面')重定向方法

 

express 获取GET请求体数据:

request.query

express 获取POST请求体数据,express内置中没有获取POST请求体数据,需要依赖第三方包 body-parser:

安装:

npm install body-parser --save

配置:

//加载:
var express = require('express')
var bodyParser = require('body-parser')

var app = express()

//配置:
app.use(bodyParser.urlencoded({ extended:false }))
app.use(bodyParser.json())

此时可通过request.body获得POST请求的响应体

使用:

app.post('/pinglun' ,function (req,res) {
   res.end(req.body)
})

 

 

 

在express 进行增删改查crud

1.使用bootstrap 提供的样式模板

模块化编程:

将各个模块的职责分开,app.js入口模块,负责模块创建,配置等信息,目的增强代码的可维护性API

router.js 负责路由处理,app.js 与router 连接
方式一:直接导出,缺点导致入门模块改变

modules.exports = app          //app.js

var app = require('./app')     //router.js
app.get(...)


方式二:通过函数调用

var router = require('./router')         //app.js
router(app) 

modules.exports = function (app) {     //router.js
    ...
}

 

方式三:rexpress 专门提供的路由方法

//app.js

4.将路由容器挂在到服务器实例app上   
var router = require('./router)
app.use(router)

//router.js

//1.创建·路由容器
var router = express.Router()

//2.将路由挂在到路由容器上
router.get('/' ,function (req ,res) {
    ...
})
//3.导出路由
modulesl.exports = router

  

 

通过fs.readFile获得的是二进制,除了可以使用data.toString 转成字符串以外,还可以在回调函数中传入第二个参数utf8

........    
fs.readFile('./db.json','utf8',function (err ,data) {
        if ( err) {
            return res.send('Server error')
        }
        //此时的data是json字符串,必须要转成对象
        res.render('index.html',{
            students:JSON.parse(data).students
        })

    })

 

你可能感兴趣的:(Node.js)