2016-06-19 131 views
0

我試圖首次使用Node.js和MongoDB創建一個RESTful API。我不熟悉後端編程。 出於某種原因,我得到這個錯誤如何檢查我的電腦上是否安裝了mongodb

module.js:327 
    throw err; 
    ^

Error: Cannot find module './routes/api' 
    at Function.Module._resolveFilename (module.js:325:15) 
    at Function.Module._load (module.js:276:25) 
    at Module.require (module.js:353:17) 
    at require (internal/module.js:12:17) 
    at Object.<anonymous> (C:\xampp\htdocs\rest\server.js:15:17) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Function.Module.runMain (module.js:441:10) 
    at startup (node.js:139:18) 
    at node.js:968:3 
[nodemon] app crashed - waiting for file changes before starting... 

我不確定是否的MongoDB正確安裝,但我不知道如何檢查。

請幫我解決錯誤,或者我可以檢查我是否已經正確安裝了MongoDB。

這裏是我的server.js

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

// MongoDB 
mongoose.connect('mongodb://localhost/rest_test'); 

// EXPRESS 
var app = express(); 
app.use(bodyParser.urlencoded({extended: true})); 
app.use(bodyParser.json()); 

// ROUTES 
app.use('/api', require('./routes/api')); 

// START SERVER 
app.listen(3000); 
console.log('API is working on port 3000') 
+0

這裏是我的server.js –

+0

//相關內容 VAR快遞=需要( '表達'); var mongoose = require('mongoose'); var bodyParser = require('body-parser'); // MongoDB mongoose.connect('mongodb:// localhost/rest_test'); // EXPRESS var app = express(); app.use(bodyParser.urlencoded({extended:true})); app.use(bodyParser.json()); // ROUTES app.use('/ api',require('./ routes/api')); (3000); //開始服務器 app.listen(3000); console.log('API正在處理端口3000'); –

回答

0

首先,你需要在你的機器使用的命令mongod執行MongoDB(如果你有一個路徑,在您的系統路徑變量mongod.exe)

安裝所有依賴項目與npm install express mongoose body-parser

而且Error: Cannot find module './routes/api'你的api.js文件在哪裏?

之後,你可以運行服務器使用node server.js

因爲我沒有看到你的文件api.js我把它寫自己爲清楚起見

server.js

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

// MongoDB 
mongoose.connect('mongodb://localhost/rest_test'); 

// EXPRESS 
var app = express(); 
app.use(bodyParser.urlencoded({extended: true})); 
app.use(bodyParser.json()); 

// ROUTES 
app.use('/api', require('./routes/api')); 

// START SERVER 
app.listen(3000); 
console.log('API is working on port 3000') 

路線/ api.js

​​

routes/index.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
</head> 
<body> 
    <h1>Hello Node.js</h1> 
</body> 
</html> 
+0

非常感謝您的回答。我不能投票了,因爲我還是新來的,不允許在15聲望之前投票:) –

+0

@shireefkhatab我很高興我可以幫助你。您也可以選擇答案作爲解決方案http://i.imgur.com/VDgepIs.png您不需要聲譽 – Mikhail

+0

我可以在哪裏選擇答案作爲解決方案? –

0

假設你是在Windows上:

  • 檢查程序文件C:\尋找一個蒙戈文件夾

要使用mongo,你需要在你的機器上啓動一個服務器。 爲此,請在您之前找到的mongo文件夾中啓動mongod.exe。

它應該在服務器啓動後工作!

+0

謝謝你的建議,我不知道.. –

+0

現在它給了我這個errorevents.js:141 扔呃; //未處理 '錯誤' 事件 ^ 錯誤:聽EADDRINUSE ::: 3000 在Object.exports._errnoException(util.js中:870:11) 在exports._exceptionWithHostPort(util.js中:893:20) 在Server.listen(net.js:1366:5) (在EventEmitter.listen(C:\ xampp \)上)在Server._listen2上(net.js:1234:14) –

+0

at listen(net.js:1270:10) htdocs \ rest \ node_modules \ express \ lib \ application.js:617:24) at Object。 (Module.js:409:26) (在Object.Module._extensions..js(module.js:416: (module.js:443:32) at Function.Module._load(module.js:300:12) at Module.load(module.js:啓動(node.js:139:18) 在node.js:968:3 –

相關問題