nodejsexpress后台press-generator 是 Express 应⽤程序⽣成器⼯具,我们可以使⽤它来快速创建应⽤程序框架。npm install -g express-generator
windows添加环境变量:E:\node\node_global
2.创建项⽬
express expressFrame (expressFrame 是项⽬名)
bin/www 是启动⼊⼝⽂件,在⾥⾯可以设置端⼝号等
mysql下载app3.下载安装依赖
npm i
npm i nodemon --save
npm i winston
4.修改配置
nodemon:监控 node.js 源代码的任何变化和⾃动重启你的服务器
winston:打印⽇志⽂件,在根⽬录创建⽂件 logger.js
logger.js :
const { createLogger, format, transports } = require('winston');
const fs = require('fs');
const path = require('path');
const env = v.NODE_ENV || 'development';
const logDir = 'log';
// Create the log directory if it does not exist
if (!fs.existsSync(logDir)) {
fs.mkdirSync(logDir);
}
const filename = path.join(logDir, 'results.log');
const logger = createLogger({
// change level if in dev environment versus production
level: env === 'production' ? 'info' : 'debug',
format: formatbine(
format.label({ label: path.basename(process.mainModule.filename) }),
format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' })
),
transports: [
new transports.Console({
format: formatbine(
format.printf(
info =>
`${info.timestamp} ${info.level} [${info.label}]: ${ssage}`
)
)
}),
new transports.File({
filename,
format: formatbine(
format.printf(
info =>
`${info.timestamp} ${info.level} [${info.label}]: ${ssage}`
)
)
})
]
});
5.修改 app.js 的配置:
将 const logger = require('morgan'); 改成:
const morgan = require('morgan')
相应的也要把 app.use(logger('dev')); 改成:
app.use(morgan('dev'));
引⼊ logger.js ⽂件
const logger = require('./logger')
屏蔽error hander,添加代码:
const _errorHander = (err, req, res, next) => {
<(`${hod} ${iginalUrl} ${ssage}`) const message = ssage
res.status(err.status || 500).json({
code: -1,
success: false,
message,
data: {}
})
}
app.use(_errorHander)
6.安装配置数据库相关
npm install -save knex mysql
在项⽬根⽬录下,新建配置信息 config.js
const configs = {
mysql: {
host: '127.0.0.1',
port: '3306',
user: 'root',
password: '123456', // ⾃⼰设置的密码
database: 'expressFrame' // 数据库的名字
},
// 打印错误
log: {
error (message) {
console.log('[knex error]', message)
}
}
}
数据库配置
新建 models/knex.js, 初始化配置 knex
// 引⽤配置⽂件
const configs = require('../config');
// 把配置⽂件中的信息,设置在初始化配置中
client: 'mysql',
connection: {
host: sql.host,
port: sql.port,
user: sql.user,
password: sql.password,
database: sql.database
},
// 打印错误
log: {
error (message) {
console.log('[knex error]', message)
}
}
})
复制代码
knex 增删改查
在 models 下新建⽂件 base.js
const knex = require('../models/knex');
class Base{
constructor(props){
this.table = props;
}
// 查
all (){
return knex(this.table).select();
}
// 新增
insert (params){
return knex(this.table).insert(params);
}
// 更改
update (id, params){
return knex(this.table).where('id', '=', id).update(params);
}
// 删除
delete (id){
return knex(this.table).where('id', '=', id).del();
}
}
复制代码
新建⽤户模型
在 models 下新建⽂件 user.js
const Base = require('./base');
class User extends Base {
// 定义参数默认值为 user 表
constructor(props = 'user'){
super(props);
}
}
复制代码
新建⽤户控制器
在根⽬录新建控制器⽂件夹 controllers,在 controllers 新建 user.js,并设置 showUser ⽅法// 引⽤⽤户模版数据
const User = require('../models/user.js');
const userController = {
// showUser 获取⽤户数据并返回到页⾯
showUser: async function(req,res,next){
try{
let userData = await User.all()
res.json({
code: 200,
message: "操作成功",
data: userData
})
}catch(e){
res.json({ code: 0, message: "操作失败", data: e })
}
},
}
复制代码
添加获取⽤户接⼝
修改路由 routes/index.js,添加获取⽤户信息的接⼝
const userController = require('../controllers/user');
// 获取⽤户信息
<('/get_user', userController.showUser);
测试接⼝
链接:juejin/post/6914891222884564999
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论