express

1.开放静态资源 url访问

 

2express-art-template

https://aui.github.io/art-template/express/

1. response.render()方法只有配置了模板引擎,才会生效

const express = require('express')
const path = require('path')
const app = express()
app.engine('html', require('express-art-template'));
app.set('views', path.join(__dirname, 'views'));

app.use(express.static('./public/'))

app.get('/', (request, response) => {
  // response.send('ok')
  response.send('ok')

})
app.get('/index', (request, response) => {
  // response.render()方法只有配置了模板殷勤,才会生效
  response.render('index.html', {
    title: 'index page',
    tags: ['art', 'template', 'nodejs']
  })
})
app.listen(3000, () => {
  console.log('服务正常启动在3000端口');
})

 3. 批量导入分块路由

re

 

 

const fs = require('fs')
let filePathList = fs.readdirSync(__dirname).filter(item => item !== 'index.js').map(item => item.replace('.js', ''))
//[ 'order', 'user' ]

module.exports = app => filePathList.forEach(item => app.use(`/api/${item}s/`, require(`./${item}`)))

 定义user.js 路由模块增删改查 匹配路由和逻辑控制器

把路由逻辑处理单独抽离一个文件

// 用户路由
const express = require('express')
const router = express.Router()
const { getUserList, getUserById, addUser, modifyUserById, deleteUserById } = require('../control/user')

/**
 * 请求用户列表接口
 */

router.get('/', getUserList)


/**
 * 请求单个用户接口
 */
router.get('/:id', getUserById)

/**
 * 增加用户
 */
router.post('/', addUser)

/**
 * 修改用户信息
 */
router.put('/:userId', modifyUserById)


/**
 * 删除一个用户
 */
router.delete('/:userId', deleteUserById)
module.exports = router
View Code

 

 

 

 

User的数据库模型定义

const { model, Schema } = require('mongoose')
const userSchema = new Schema(
  {
    userId: {
      type: String,
      required: true,
      unique: true, //学号唯一
    },
    name: {
      type: String,
      required: true,
    },
    password: {
      type: String,
      required: true,
      select: false //select设置成false 表示从查询结果中不返回该字段值。如果要显示该字段值 T.opt().select('-password')
    },
    age: {
      type: Number,
      required: true,
      min: 0,
      age: 120

    },
    gender: {
      type: Number,
      required: true,
      enum: [0, 1], //0 男 1女 默认是男
      default: 0
    },
    hobby: {
      type: [String] //定义字符串类型数组['a','b','c'], 也就是数组类型

    },
    desc: {
      type: Schema.Types.Mixed //混合类型数据,任何类型数据都允许
    },

    createTime: {
      type: Date,
      default: Date.now
    },
    // 逻辑删除 硬盘还保存
    isActive: {
      type: Boolean,
      default: true
    }
  }, {
  versionKey: false
})
module.exports = model('User', userSchema) //model(表(集合)名字首字母大写,schema)

 

posted on 2020-07-16 15:20  章画  阅读(176)  评论(0编辑  收藏  举报

导航