nodejs express 启动报错:Error: Cannot find module 'xxx'

nodejs express 启动报错:Error: Cannot find module 'xxx',这是因为缺少模块的引用。

比如我在代码中使用了'express-session',但是却没有在 package.json 文件的 "dependencies" 项中添加 'express-session' 的依赖

[plain]  view plain  copy
  1. D:\nodejs\myapp>set DEBUG=myapp & npm start  
  2.   
  3. [email protected] start D:\nodejs\myapp  
  4. > node ./bin/www  
  5.   
  6. module.js:340  
  7.     throw err;  
  8.     ^  
  9.   
  10. Error: Cannot find module 'express-session'  
  11.     at Function.Module._resolveFilename (module.js:338:15)  
  12.     at Function.Module._load (module.js:289:25)  
  13.     at Module.require (module.js:366:17)  
  14.     at require (module.js:385:17)  
  15.     at Object. (D:\nodejs\myapp\app.js:6:15)  
  16.     at Module._compile (module.js:435:26)  
  17.     at Object.Module._extensions..js (module.js:442:10)  
  18.     at Module.load (module.js:356:32)  
  19.     at Function.Module._load (module.js:313:12)  
  20.     at Module.require (module.js:366:17)  
package.json 文件

[plain]  view plain  copy
  1. {  
  2.   "name": "myapp",  
  3.   "version": "0.0.0",  
  4.   "private": true,  
  5.   "scripts": {  
  6.     "start": "node ./bin/www"  
  7.   },  
  8.   "dependencies": {  
  9.     "body-parser": "~1.15.2",  
  10.     "cookie-parser": "~1.4.3",  
  11.     "debug": "~2.2.0",  
  12.     "ejs": "^2.5.5",  
  13.     "express": "~4.14.0",  
  14.     "express-session": "^1.14.2",  
  15.     "mongoose": "^4.7.6",  
  16.     "morgan": "~1.7.0",  
  17.     "serve-favicon": "~2.3.0"  
  18.   }  
  19. }  
如果你手动在 package.json 文件中添加依赖的话,就需要在你的项目目录(我的目录是:D:\nodejs\myapp)下执行:npm install

还有一个方法是执行:npm install 模块名称 --save

[plain]  view plain  copy
  1. D:\nodejs\myapp>npm install express-session --save  
  2. [email protected] node_modules\express-session  
  3. ├── [email protected]  
  4. ├── [email protected]  
  5. ├── [email protected]  
  6. ├── [email protected]  
  7. ├── [email protected]  
  8. ├── [email protected]  
  9. ├── [email protected]  
  10. └── [email protected] ([email protected][email protected])  
记得把我这里提到的'xxx'或 'express-session' 替换为你遇到 的错误信息中提示的模块名称哦!

你可能感兴趣的:(js,node)