2016-08-05 49 views
1

嘗試使用MEAN創建簡單的API。MEAN - Node - Mongoose - 錯誤

時遵循以下youtube鏈接爲指導

https://www.youtube.com/watch?v=MMOIr_VwwAk

上設置3000端口時,嘗試運行它,會拋出錯誤等作爲休耕

**mongoose.connect('mongodb://localhost/restful'); 
     ^
TypeError: Cannot read property 'connect' of undefined** 

server.js

var express = require ('express'), 
    restful = require('node-rest-client'), 
    mongoose = restful.mongoose; 

var app = express(); 
app.get(function(){ 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
}); 

mongoose.connect('mongodb://localhost/restful'); 

var ProductSchema = mongoose.Schema({ 
    name : String, 
    sku: String, 
    price:Number 
}); 

var Products =restful.model('products',ProductSchema); 
Products.methods(['get','put','post','delete']); 
Products.register(app,'/api/products'); 
app.listen(3000); 
console.log("am running on port 3000"); 

package.json

{ 
    "name": "restful", 
    "main": "server.js", 
    "dependencies": { 
    "express": "^4.14.0", 
    "mangoose": "latest", 
    "node-restful": "latest" 
    } 
} 

這是什麼以現在開始。

非常感謝。

回答

0

您的package.json似乎有錯別字。當您運行npm install時,您是否收到錯誤?

我假設芒果是爲了貓鼬。 另外node-restful與您的任何require語句不匹配。相反,你有restful = require('node-rest-client')

+0

安裝包時沒有得到任何錯誤。什麼代碼會替代「node-rest client」 –

+0

這取決於您嘗試使用哪個軟件包。如果你想使用** node-restful **,那麼你可以將你的require語句改成'restful = require('node-rest-client')'。如果你想使用** node-rest-client **,你可以改變你的安裝依賴包括'「node-rest-client」:「latest」' – Wake

+0

好,謝謝@wake。現在錯誤如下所示 雖然我已安裝最新的Mongoose依賴關係,但無法讀取未定義事件的屬性'connect'..我確實已更改,因爲您喜歡這樣{ 「name」:「restful」, 「main」:「server .js文件」, 「依賴」:{ 「明示」: 「^ 4.14.0」, 「mangoose」: 「最新」, 「節點休息客戶」: 「最新的」 }} –