sails 命令列
在互動模式下啟動您的 Node.js/Sails.js 應用程式,並進入 REPL。這表示您可以存取和使用您所有的模型、helpers、設定、服務,以及 sails
應用程式實例。適用於嘗試 Waterline 查詢、快速管理您的資料,以及檢查您專案的執行階段設定。
sails console
預設情況下,這仍然會啟動伺服器,因此您的路由將可透過 HTTP 和 sockets (例如,在瀏覽器中) 存取。
sails console
接受以下選項
--dontLift
:啟動 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));
格式 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 }
它會將其插入資料庫,這非常酷。 但是,您可能會注意到 undefined
和 null
——別擔心。 請記住,.exec() 會傳回錯誤和資料值,因此 .exec(console.log)
與 .exec(console.log(err, data))
具有相同的效果。 第二種方法將刪除 undefined 訊息,但在新行中新增 null。 您是否要輸入更多內容取決於您。
請注意,從 Node 6 開始,物件的建構子名稱會顯示在主控台中。 例如,當使用
sails-mysql
adapter 時,上面提到的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 console
中,輸入 sails
以查看 Sails 屬性的列表。 您可以使用它來了解更多關於 Sails 的資訊、覆寫屬性,或檢查您是否停用了全域變數。
sails> sails
|> [a lifted Sails app on port 1337]
\___/ For help, see: https://sails.dev.org.tw/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>