项目环境
- platform: windows 10
- node: v10.16.3
问题
Q1. nodemon
进程启动后无法停止?
执行语句:
"scripts": {
"start": "nodemon -q index.js -r dotenv/config --exec babel-node"
}
启动服务后,通过 ctrl
+ c
,退出服务。更改项目文件,保存,nodemon
的服务会自动重启。使用 tskill [pid]
杀掉进程后还是会自动重启。
Q2. sequelize
定义的 model
使用 import
引入调用API会报 undefined
。
models/index.js
import User from './user'
import Project from './project'
// 关联表
Project.belongsTo(User)
export default {
User,
Project
}
models/user.js
import Sequelize from 'sequelize'
import sequelize from '../utils/db'
class User extends Sequelize.Model {}
const user = User.init({
id: {
type: Sequelize.INTEGER,
primaryKey: true
},
name: Sequelize.STRING(30),
password: Sequelize.STRING(30),
phone: Sequelize.STRING(11)
}, {
sequelize,
modelName: 'user'
})
// 添加生命周期
// user.addHook()
export default user
controller
// controller/user.js
import U from '../models/user'
import { User } from '../models'
export async function getUserInfo(ctx, next) {
const { id } = ctx.query
const data = await User.findOne({
where: { id: Number(id) }
})
ctx.body = { status: 1, message: '', data }
}
如上,通过直接引入 ../models/user
可以正常调用 sequelize instance
上的方法。
如果通过 import { User } from '../models'
,调用方法时会提示 Cannot read property 'findAll' of undefined
。
希望有解决过同样问题的大佬帮忙看下是哪里出了问题。
Change Log
2019-11-22 15:30
关于 import
使用出现 undefined
的问题已经解决。是我对 export
& export default
用法不清所造成的。具体可以参考这篇文章的介绍,上面说的比较清楚。
node 使用comment.js规范 const xx = require('') 这样引入文件