Express.js无法找到模块'mime-types'

时间:2016-12-05 14:35:04

标签: javascript node.js express body-parser

我正在尝试使用body-parser运行一个简单的快速服务器:

var express = require('express');
var bodyParser = require('body-parser');

var app = express();
app.use(bodyParser.json());

我意识到这不再与快递捆绑在一起并且已经仔细检查了两个软件包的安装:

npm install -s express body-parser

我得到的错误是:

module.js:472
    throw err;
    ^

Error: Cannot find module 'mime-types'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/osboxes/.nvm/versions/node/v7.2.0/lib/node_modules/body-parser/node_modules/type-is/index.js:16:12)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)

我也试过了:

 npm install -s mime-types

没有效果。

注意:我通过之前和之后的记录验证了第4行是发生错误的位置。

1 个答案:

答案 0 :(得分:1)

确保body-parserexpresspackage.json中列为依赖项,然后删除整个node_modules目录,并使用{{1}全面安装依赖项}。

看起来npm imime-types的依赖关系,type-is已将其列为依赖项,请确保所有这些都已正确安装,如果没有安装它们。安装body-parser时,您不需要--save标记,因为您不需要将其作为您的包的依赖项,因为您已经列出了mime-types }作为依赖项,如果有任何可能导致其他问题的因为您可能与body-parser / body-parser具有不同的版本要求。

另外,我不相信npm的保存标记是type-is,它是-s--save

  

npm install需要3个独有的可选标志,用于保存或更新主package.json中的软件包版本:

     

-S, - save:包将出现在您的依赖项中。

     

-D, - save-dev:包将出现在你的devDependencies中。

     

-O, - save-optional:包将出现在您的optionalDependencies中。