2014-06-06 27 views
0

感謝您的支持!用MeanJS安裝mongoose朋友插件

每次我爲mean.js運行一個Yeoman CRUD腳手架時,它會打破我的應用程序。頁面變成完全白色。所以我不確定哪些文件要添加CRUD功能。

我希望用戶能夠像Facebook上的「朋友」彼此。這個插件叫做mongoose friends。它看起來很有希望。問題是git存儲庫中沒有包含任何示例html頁面來引導我完成安裝。看到有一個lib文件夾plugin.js和status.js。這是服務器端還是客戶端?我猜測它去服務器端...

https://github.com/numbers1311407/mongoose-friends

我怎麼會出來單獨所有這些代碼在單一的js文件到MVC的MeanJS?

我不想在第一次發佈這個問題,因爲我覺得這個問題可能會問太多或太寬,但後來我意識到這是一個基本的「如何安裝插件?」題。新的MeanJS用戶可以從這類問題中受益。

回答

1

安裝通過NPM是容易的,簡單地說:

npm install mongoose-friends --save 

我有MEAN.JS沒有經驗,但它似乎是大部分發電機的集合來創建一個CRUD圖案角/快遞應用程序。因此,它似乎遵循框架的哲學來創建作爲CRUD資源的友誼。

使用yo他們建議:

yo meanjs:crud-module friendship 

這將生成MVC的友誼模式,反而會使對模型本身,即它是一個一流的貓鼬模型的一些不正確的假設。有了這個插件,事實並非如此。友誼是用戶記錄中嵌入式集合的一部分,該插件爲它們提供了CRUD方法。

首先,將插件添加到您的用戶模型中。

// in app/models/user.server.model.js 
var friends = require("mongoose-friends"); 
// ... 
UserSchema.plugin(friends()); 

app/models/friendship生成的模型,並在生成的文件引用它,需要將被刪除。通過添加到您的User模型中的插件方法,您可以取代Friendship模型,方法將被CRUD刪除。

app/controllers/friendships.server.controller.js產生的控制器將可能需要最多的變化。

create,例如將從此改變:

var friendship = new Friendship(req.body); 
friendship.user = req.user; 
friendship.save(callback); 

要更多的東西一樣:

req.user.requestFriend(req.body.user, callback); 

的路由可能需要更改爲好,這取決於你的應用程序如何使用友誼。插件的友誼不是一流的資源,而是嵌入式用戶集合。因此,例如,沒有公共的/friendships路線。該路線只需要返回登錄的用戶朋友,或者你想要映射特定於用戶的友誼路線,例如,/users/ID/friendships,在用戶的友誼可以由用戶本身以外的人看到的情況下。

無論如何,這無疑是不完整的,甚至可能被誤導,但我希望這足以讓您開始實施。