我正在使用 Sailsjs 编写一个应用程序,其中包含一个刮刀。目前,我正在使用默认路由从浏览器调用抓取功能,但我认为如果我可以从终端私下调用所需的方法会更好。可以这样做吗?
最佳答案
您可以使用 Sails 控制台访问 Controller 方法,但您必须提供虚假的 req
和 res
对象作为参数,或者创建不支持的 Controller 函数不需要 req
和 res
,这不是一个好的做法。更好的方法是将抓取代码移至 service ,这是 Sails 在全局范围内为您提供的库。例如,如果您有一个文件 /api/services/ScraperService.js
,其中包含:
module.exports = {
scrape: function (url, fileToSaveResultsTo) {
// do scraping and save to file
}
}
然后您可以在 Sails 控制台中的 Controller 或中调用该服务:
ScraperService.scrape("http://google.com", "results.txt");
使用 sails console
在终端中启动控制台。
关于node.js - 我可以从命令行运行 sailsjs Controller 方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23065973/