使用Web服务器外部的模型执行js

car*_*tux 7 node.js sails.js waterline

我想创建一个cli来创建管理员用户我在api/models/User.js中设置了用户模型

并在cli

var User, program;

program = require("commander");

User = require("../api/models/User");

program.version("0.0.1");

program.command("create_user").description("Create a user into database").action(function() {
  return console.log(User);
});

program.parse(process.argv);
Run Code Online (Sandbox Code Playgroud)

用户日志是:

    User = {
      attributes: {
        username: "string",
        password: "string",
      }
    };
Run Code Online (Sandbox Code Playgroud)

并且没有可用的水线方法.

Edy*_*Edy 5

你可以用sails run <command>.

只需<appPath>/commands/index.js使用此内容创建:

module.exports = {
    testcommand: function (done) {
        // .. your code
        console.log('this is my testcommand');
        done();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在你可以跑了 sails run testcommand


car*_*tux 2

如果有人需要这个:

sails = require("sails");
sails.lift({
  log: {
    level: 'silent'
  }
}, function() {
  User.create(obj);
  process.stdin.destroy();
});
Run Code Online (Sandbox Code Playgroud)