Node.js 通过节点搜索npm包
下面是我如何搜索Npm包的,但它会导致Heroku超时或超出内存限制,所以我希望有人知道更智能的解决方案Node.js 通过节点搜索npm包,node.js,heroku,coffeescript,npm,Node.js,Heroku,Coffeescript,Npm,下面是我如何搜索Npm包的,但它会导致Heroku超时或超出内存限制,所以我希望有人知道更智能的解决方案 npm = require 'npm' packageCache = null module.exports = class Npm @search: (searchTerms, callback) -> if packageCache? return callback null, packageCache npm.load ->
npm = require 'npm'
packageCache = null
module.exports = class Npm
@search: (searchTerms, callback) ->
if packageCache?
return callback null, packageCache
npm.load ->
npm.commands.search searchTerms, true, (err, results) ->
return callback err if err?
packageCache = results
callback null, results
npmjs.org为什么没有API让我感到困惑。我创建了一个npm包,可以为我缓存结果,尽管我仍然存在内存问题,这似乎是一个已知的问题。在heroku上,对dynos的web请求有30秒的超时时间。如果你想做这样一个长时间运行的任务,你需要创建一个后台作业。每一个heroku平台都有具体的例子,这里讨论了这个过程:是的,但我仍然会耗尽内存。啊,我明白了。一个月前,有一段关于NPM2.0改进的Javascript闲聊。我不记得API即将面世,但嘿,它是开源的,我相信他们会喜欢有人来构建它社区似乎正在酝酿一些事情。我不明白为什么每个人都需要下载所有的软件包。