我需要将一个快速应用程序加载到控制台中,以便我可以测试对象、一些数据模型、使用 Sequelize 等。我需要一个用于常规调试的控制台。
曾经有一种方法可以做到这一点,但我不记得诀窍了。
我认为这是进入node
控制台然后以某种方式要求app.js
的路线。
我正在尝试在控制台中执行User.create()
按如下方式创建本地服务器包装app
并运行node {local server filename}
。然后端点可以使用邮递员、浏览器或卷曲来点击
const app = require('./app');
const port = 8202;
app.listen(port, () => console.log(`Listening on port ${port}!`));
邮递员/浏览器:http://localhost:8202/users
卷曲: curl 'http://localhost:8202/users'
app
可能看起来像这样:
const express = require('express');
const app = express();
const User = require('./User);
app.get('/users', (req, resp) => {
resp.send({
msg: 'users endpoint',
});
});
//You will likely want to use postman to handle the post
app.post('/users', (req, resp) => {
User.Create(req.body);
resp.send({
msg: 'user created',
});
});
module.exports = app;
我认为你不能用这种方式表达它。但是,如果您的模型以某种方式设置,则可以使用 node 来加载模型并通过它调用它......
用户.js
module.exports = {
Create: (data) => {
console.log(data);
//do other stuff
return true;
}
}
然后,您可以在节点中访问它...
-> node
-> const User = require('./user')
undefined
-> User.Create({test: 'test'})
{test: 'test'}
true
对于续集,您需要使用异步标志进行故障排除。下面的方法将加载所有模型
node --experimental-repl-await
> models = require('./models'); //requires all models
> User = models.User; //however you load the model in your actual app this may vary
> await User.create({name:"Hoosier"}); //use await to avoid promise errors