快速环境命令行



我需要将一个快速应用程序加载到控制台中,以便我可以测试对象、一些数据模型、使用 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

最新更新