与Node.js一起使用Express时出错

时间:2013-03-07 08:29:07

标签: node.js express

我用npm express写了一个小程序。当我运行程序时,我收到如下错误。(我是node.js的新手)

module.js:340
    throw err;
          ^
Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (C:\Users\node\node_modules\app.js:1:77)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)

1 个答案:

答案 0 :(得分:3)

在您的应用内,您显然require express模块,可能是这样的:

var express = require('express');

要使此行生效,您需要将Express安装到应用程序的本地环境中。为此,请运行

$ npm install express

在应用程序的文件夹中。这将(如果它还不存在)创建一个文件夹node_modules,其中所有依赖项都会出现。

此外,我建议您将Express放入package.json块内的dependencies,例如:

"dependencies": {
  "express": "3.1.0"
}

当然,您可以将版本号调整为您使用的任何版本。为所有依赖项完成此操作后,只需运行

即可立即安装它们
$ npm install

那应该解决它。

PS:无论您是否全局安装Express,这种情况都无关紧要。全局安装仅适用于在系统范围内使用express引导程序。 require函数始终只在本地应用程序上下文中搜索。