我可以从命令行运行sailsjs控制器方法吗?

我正在用Sailsjs写一个包含刮板的应用程序。 目前我使用默认路由从浏览器调用刮板函数,但我认为如果能私自从terminal调用所需的方法会更好。 是否有可能做到这一点?

您可以使用Sails控制台来访问控制器方法,但是您必须提供伪造的reqres对象作为参数,或者创build不需要reqres控制器函数,这不是很好的做法。 一个更好的方法是将刮码移动到一个服务中 ,该服务是Sails在全球为您提供的一个库。 例如,如果您有一个/api/services/ScraperService.js文件,

 module.exports = { scrape: function (url, fileToSaveResultsTo) { // do scraping and save to file } } 

那么你可以通过控制器 Sails控制台调用服务:

 ScraperService.scrape("http://google.com", "results.txt"); 

使用sails console在terminal上启动sails console