我需要将一个快速应用程序加载到控制台中,以便可以测试对象,某些数据模型,使用Sequelize等。我需要一个控制台来进行常规调试。
曾经有一种方法可以做到这一点,但我不记得这个窍门。
我认为这是进入node
控制台然后以某种方式要求app.js
的过程。
我正在尝试在控制台中执行User.create()
答案 0 :(得分:1)
您可以按照以下步骤创建包装app
并运行node {local server filename}
的本地服务器。然后可以使用邮递员,浏览器或curl攻击端点。
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;
答案 1 :(得分:1)
我认为您不能以这种方式使用它。但是,如果您以某种方式设置了模型,则可以使用node加载模型并通过该模型调用它。
User.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
答案 2 :(得分:0)
对于特定的续集,您将需要使用async标志进行故障排除。下面的方法将加载所有模型
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