我可以从命令行运行sailsjs控制器方法吗?
我正在用Sailsjs写一个包含刮板的应用程序。 目前我使用默认路由从浏览器调用刮板函数,但我认为如果能私自从terminal调用所需的方法会更好。 是否有可能做到这一点?
您可以使用Sails控制台来访问控制器方法,但是您必须提供伪造的req
和res
对象作为参数,或者创build不需要req
和res
控制器函数,这不是很好的做法。 一个更好的方法是将刮码移动到一个服务中 ,该服务是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
。