我创建了测试Meteor应用程序,我发现可以在客户端上使用dev工具查看整体代码(服务器端)。 测试应用程序(在浏览器中):
(function(){ if (Meteor.isClient) {
Template.hello.greeting = function () {
return "Welcome to test_app.";
};
Template.helo.events({
'click input' : function () {
// template data, if any, is available in 'this'
if (typeof console !== 'undefined')
console.log("You pressed the button");
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
}).call(this);
这是设计的吗?服务器端代码可以保留在服务器上吗?
答案 0 :(得分:13)
如果您想在服务器上保留服务器端代码,则必须重新构建应用程序。
将这些目录放在应用程序的根目录中:
http://yoursite/
可以访问的任何内容(即图像,字体)。如果您在a.jpg
中放置图片/public
,则可以http://yoursite/a.jpg
使用此结构后,您不必再使用if(Meteor.isServer) {..}
或if(Meteor.isClient) {..}
条件,因为它们会在正确的位置运行。
当您将文件放在meteor应用程序的根目录中时,它们将在客户端和服务器上运行,因此这就是文件未更改的原因。 if(Meteor.isServer)
中的所有内容都只能在服务器上运行。
设计并且在服务器和客户端之间共享代码非常有帮助,尽管客户端和客户端都可以看到它。服务器