我正在關注Discover Meteor書籍,並將這本書將js文件放在/ collections文件夾下。 JS文件定義了服務器端的方法:MeteorJS在/ server文件夾下放什麼?
Meteor.methods({
post: function(postAttributes) {
var user = Meteor.user();
var postWithSameLink = Posts.findOne({url: postAttributes.url});
// ensure the user is logged in
if (!user)
throw new Meteor.Error(401, "You need to login to post new stories");
// ensure the post has a title
if (!postAttributes.title)
throw new Meteor.Error(422, 'Please fill in a headline');
// check that there are no previous posts with the same link
if (postAttributes.url && postWithSameLink) {
throw new Meteor.Error(302,
'This link has already been posted',
postWithSameLink._id);
}
// pick out the whitelisted keys
var post = _.extend(_.pick(postAttributes, 'url', 'title', 'message'), {
userId: user._id,
author: user.username,
submitted: new Date().getTime(),
commentsCount: 0,
upvoters: [],
votes: 0
});
var postId = Posts.insert(post);
return postId;
},
});
那麼,在這種情況下,是不是因爲Meteor gathers all JavaScript files in your tree, with the exception of the server, public, and private subdirectories, for the client.
公共訪問的整個邏輯是什麼?
這是一個問題嗎? 我應該把什麼server
文件夾?
'server /'文件夾中的任何代碼都不能使用延遲補償。在客戶端上定義的方法將作爲method * stubs *運行,這些客戶端模擬可以極大地提高應用程序的表觀速度,然後在服務器最終響應時被覆蓋。同樣,可以在客戶端和服務器上定義允許/拒絕規則等功能,以啓用延遲補償。因此,爲了獲得最佳性能,唯一應該放在'server /'中的代碼應該是不能或不應該(例如出於安全考慮)的代碼受延遲補償的影響。 – sbking