我正在用Sailsjs编写一个包含刮刀的应用程序。目前我正在使用默认路由从浏览器调用scraper函数,但我认为如果我可以从终端私下调用所需的方法会更好。有可能这样做吗?
答案 0 :(得分:3)
您可以使用Sails控制台访问控制器方法,但您必须提供假的req
和res
对象作为参数,或创建不需要{{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");
在终端中启动控制台。