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

时间:2014-04-14 17:00:54

标签: node.js sails.js

我正在用Sailsjs编写一个包含刮刀的应用程序。目前我正在使用默认路由从浏览器调用scraper函数,但我认为如果我可以从终端私下调用所需的方法会更好。有可能这样做吗?

1 个答案:

答案 0 :(得分:3)

您可以使用Sails控制台访问控制器方法,但您必须提供假的reqres对象作为参数,或创建不需要{{1的控制器函数}和req,这不是一个好习惯。更好的方法是将抓取代码移动到service,这是Sails为您提供全局可用的库。例如,如果您的文件res包含:

/api/services/ScraperService.js

然后您可以在Sails控制台中的控制器中调用该服务:

module.exports = {

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

}

使用ScraperService.scrape("http://google.com", "results.txt"); 在终端中启动控制台。