mime.lookup不是在docker

时间:2017-12-15 04:11:58

标签: node.js express docker

我有一个运行节点进程的docker镜像。它正在收听一个特定的端口。当我尝试使用curl或浏览器请求访问端口时,我收到以下错误 -

TypeError:mime.lookup不是函数     在ServerResponse.contentType(/E:/Saurabh/node_modules/express/lib/response.js:592:12)     在ServerResponse.send(/E:/Saurabh/node_modules/express/lib/response.js:145:14)     在app.get(/E:/Saurabh/apis/index.js:26:6)     在Layer.handle [as handle_request](/E:/Saurabh/node_modules/express/lib/router/layer.js:95:5)     在下一个(/E:/Saurabh/node_modules/express/lib/router/route.js:137:13)     在Route.dispatch(/E:/Saurabh/node_modules/express/lib/router/route.js:112:3)     在Layer.handle [as handle_request](/E:/Saurabh/node_modules/express/lib/router/layer.js:95:5)     在/E:/Saurabh/node_modules/express/lib/router/index.js:281:22     在Function.process_params(/E:/Saurabh/node_modules/express/lib/router/index.js:335:12)     在下一个(/E:/Saurabh/node_modules/express/lib/router/index.js:275:10)

如果我在没有docker的情况下运行相同的代码,那么它会按预期工作。 可能是什么问题?

1 个答案:

答案 0 :(得分:1)

至于npm documentation on mime

  

版本2是1.x的一个重大变化,正如semver所暗示的那样。具体做法是:

     
      
  • lookup()重命名为getType()
  •   
     

如果你更喜欢这个模块的旧版本,请npm install mime @ ^ 1。

只需将您调用该方法的方式更改为mime.getType(path)或卸载mime npm uninstall mime,然后将其重新安装为npm install mime@^1