快速环境命令行

时间:2019-07-16 21:01:57

标签: node.js express

我需要将一个快速应用程序加载到控制台中,以便可以测试对象,某些数据模型,使用Sequelize等。我需要一个控制台来进行常规调试。

曾经有一种方法可以做到这一点,但我不记得这个窍门。

我认为这是进入node控制台然后以某种方式要求app.js的过程。

我正在尝试在控制台中执行User.create()

3 个答案:

答案 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