时间格式化包
格式化时间的包 moment
nodejs格式化时间挂载为全局中间件
app.use( function(req, res, next) { // app 挂载中间件,格式化请求时间 req.formatTime = moment( new Date ).format( 'YYYY-MM-DD HH:mm:ss' ) next() } )
nodemon报错
使用 nodemon
将 node 命令替换为 nodemon 命令,使用 nodemon 要运行文件名
来启动项目。
如果出现如下报错:
可以先运行
cmd
再运行
nodemon 要运行文件名
接收请求时,请求的参数为未定义
// 通过 express.json() 这个中间件,解析表单中的 JSON 格式的数据 app.use(express.json()) // 通过 express.urlencoded() 这个中间件,来解析 表单中的 url-encoded 格式的数据 app.use(express.urlencoded({ extended: false })) app.post('/user', (req, res) => { // 在服务器,可以使用 req.body 这个属性,来接收客户端发送过来的请求体数据 // 默认情况下,如果不配置解析表单数据的中间件,则 req.body 默认等于 undefined console.log(req.body) res.send('ok') }) app.post('/book', (req, res) => { // 在服务器端,可以通过 req,body 来获取 JSON 格式的表单数据和 url-encoded 格式的数据 console.log(req.body) res.send('ok') })
// 导入 express 模块 const express = require('express') // 创建 express 的服务器实例 const app = express() // 注意:除了错误级别的中间件,其他的中间件,必须在路由之前进行配置 // 通过 express.json() 这个中间件,解析表单中的 JSON 格式的数据 app.use(express.json()) // 通过 express.urlencoded() 这个中间件,来解析 表单中的 url-encoded 格式的数据 app.use(express.urlencoded({ extended: false })) app.post('/user', (req, res) => { // 在服务器,可以使用 req.body 这个属性,来接收客户端发送过来的请求体数据 // 默认情况下,如果不配置解析表单数据的中间件,则 req.body 默认等于 undefined console.log(req.body) res.send('ok') }) app.post('/book', (req, res) => { // 在服务器端,可以通过 req,body 来获取 JSON 格式的表单数据和 url-encoded 格式的数据 console.log(req.body) res.send('ok') }) // 调用 app.listen 方法,指定端口号并启动web服务器 app.listen(80, function () { console.log('Express server running at http://127.0.0.1') })
在 express@4.16.0 之前的版本中,经常使用 body-parser 这个第三方中间件,来解析请求体数据。
使用步骤如下:
运行 npm install body-parser 安装中间件
使用 require 导入中间件
调用 app.use() 注册并使用中间件
注意:Express 内置的 express.urlencoded 中间件,就是基于 body-parser 这个第三方中间件进一步封装出来的。
// 导入 express 模块 const express = require('express') // 创建 express 的服务器实例 const app = express() // 1. 导入解析表单数据的中间件 body-parser const parser = require('body-parser') // 2. 使用 app.use() 注册中间件 app.use(parser.urlencoded({ extended: false })) // app.use(express.urlencoded({ extended: false })) app.post('/user', (req, res) => { // 如果没有配置任何解析表单数据的中间件,则 req.body 默认等于 undefined console.log(req.body) res.send('ok') }) // 调用 app.listen 方法,指定端口号并启动web服务器 app.listen(80, function () { console.log('Express server running at http://127.0.0.1') })
滚动到底部
scrollToBottom: function () { this.$nextTick(() => { var container = this.$el.querySelector("#new_message"); container.scrollTop = container.scrollHeight; }); } 调用此方法即可
时间格式化的包
npm引入moment插件
安装
npm install moment --save
main.js
// 导入时间格式化的包 import moment from 'moment' // 挂载到vue上 Vue.prototype.$moment = moment
使用
<!-- 时间 --> <span class="time">{{ $moment(time).format('YYYY-MM-DD HH:mm:ss') }}</span>
安装axios出现报错:
nodejs请求表单解析
// 配置解析application/x-www-form-urlencoded格式的表单数据的中间件 app.use( express.urlencoded( {extended: false} ) ) // 处理axios发过来的post请求 app.use(express.json())
返回错误信息的中间件
// app挂载中间件,返回错误信息函数 app.use( function(req, res, next) { // status=0 成功,status=1 失败 res.errMess = ( err, status=1 )=>{ res.send( { status, message: err instanceof Error ? err.message : err } ) } next() } )
nodejs错误中间件
// 错误中间件 app.use( (err,req,res,next)=>{ if( err ) { res.send( { status: 11, message: 'Error:'+err.message } ) } next() } )
nodejs mysql模块
// 导入数据库模块 const mysql = require('mysql') // 创建数据库连接对象 const db = mysql.createPool( { host: '127.0.0.1', // user: 'mydatabase', user: 'root', password: '', database: 'mydatabase' } ) // 向外共享数据库连接对象 module.exports = db