我不知道是什么导致了这个问题,因为我认为它应该可以工作。我确实表达了安装,至少根据npm:
C:UsersphuckerDesktop>node init.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:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:UsersphuckerDesktopinit.js:1:77)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
C:UsersphuckerDesktop>npm express -v
1.3.2
C:UsersphuckerDesktop>
init.js中包含的代码是
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('hello world');
});
app.listen(3000);
您需要在node_modules
文件夹中本地安装express
。检查您的node_modules
,如果不存在,请重新安装。
npm express -v
不显示您已安装的Express版本,而是显示npm
的版本。
要显示您安装了哪个版本的Express,请尝试以下操作:
npm ls express
也许这不是你的问题,但对于初学者来说,全局安装和本地安装之间的区别往往令人困惑。如果在代码中使用require('module_name')
,则必须使用npm install module_name
或package.json
中的依赖项在本地安装每个模块。
全局安装仅适用于运行express my_new_project
等命令。
您可以使用npm list
为实际目录列出所有已安装的本地模块,并列出所有运行npm list -g
的全局模块。
如果您已安装express全局,请检查以下内容
即使用命令npm install -g express
-
使用检查您的代码中是否导入了express模块
var express=需要('express')
-
在窗口上,检查路径
C:Users<user_name>AppDataRoamingnpm
是否在path环境变量上
对于没有在全球范围内快速安装的安装
- 导航到文件夹C:\node项目
- 使用
npm install express
执行Express的本地安装 - 使用
var express = require('express')
导入代码中的express模块