编辑页面

sails 控制台

以交互模式启动您的 Node.js/Sails.js 应用程序,并进入 REPL。这意味着您可以访问和使用所有模型、助手、配置、服务以及sails应用程序实例。这对于尝试 Waterline 查询、快速管理数据和检查项目的运行时配置非常有用。

sails console

默认情况下,这仍然会启动服务器,因此您的路由可以通过 HTTP 和套接字(例如在浏览器中)访问。

用法

#

sails console 接受以下选项

示例

#
$ sails console

info: Starting app in interactive mode...

info: Welcome to the Sails console.
info: ( to exit, type <CTRL>+<C> )

sails>

sails console 中的全局变量

#

Sails 在 REPL 中公开了与应用程序代码中相同的全局变量。默认情况下,您可以访问sails应用程序实例和您的模型,以及任何其他已配置的全局变量(例如,lodash(_)和 async(async))。

警告

在 Node v6 之前的版本中,在 REPL 中使用_作为变量会导致意外行为。作为替代方案,只需将 Lodash 模块导入为变量即可。

sails> var lodash = require('lodash');
sails> console.log(lodash.range(1, 5));

更多示例

#
Waterline
#

格式Model.action(query).exec(console.log) console.log 非常适合查看结果。

sails> User.create({name: 'Brian', password: 'sailsRules'}).fetch().exec(console.log)
undefined
sails> undefined { name: 'Brian',
  password: 'sailsRules',
  createdAt: "2014-08-07T04:29:21.447Z",
  updatedAt: "2014-08-07T04:29:21.447Z",
  id: 1 }

它将数据插入数据库,这很酷。但是,您可能会注意到undefinednull——不用担心这些。请记住,.exec() 返回错误和数据的返回值,因此.exec(console.log).exec(console.log(err, data))的效果相同。第二种方法将删除 undefined 消息,但在新行上添加 null。您是否要键入更多内容取决于您自己。

请注意,从 Node 6 开始,对象的构造函数名称会在控制台中显示在其旁边。例如,当使用sails-mysql适配器时,上面提到的create查询将输出

sails> undefined RowDataPacket { name: 'Brian',
  password: 'sailsRules',
  createdAt: "2014-08-07T04:29:21.447Z",
  updatedAt: "2014-08-07T04:29:21.447Z",
  id: 1 }
公开 Sails
#

sails console中,键入sails以查看 Sails 属性列表。您可以使用它来了解更多关于 Sails 的信息,覆盖属性,或检查您是否禁用了全局变量。

sails> sails
  |>   [a lifted Sails app on port 1337]
\___/  For help, see: https://sails.js.cn/documentation/concepts/

Tip: Use `sails.config` to access your app's runtime configuration.

1 Models:
User

1 Controllers:
UserController

20 Hooks:
moduleloader,logger,request,orm,views,blueprints,responses,controllers,sockets,p
ubsub,policies,services,csrf,cors,i18n,userconfig,session,grunt,http,projecthooks

sails>

是否缺少某些内容?

如果您发现我们遗漏或可以改进的内容,请遵循此链接并向 sails 仓库提交拉取请求。合并后,更改将在网站下次部署时反映出来。

参考

参考