Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 通过节点搜索npm包_Node.js_Heroku_Coffeescript_Npm - Fatal编程技术网

Node.js 通过节点搜索npm包

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包的,但它会导致Heroku超时或超出内存限制,所以我希望有人知道更智能的解决方案

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即将面世,但嘿,它是开源的,我相信他们会喜欢有人来构建它社区似乎正在酝酿一些事情。我不明白为什么每个人都需要下载所有的软件包。