Meteor:客户端和服务器端的代码是什么?
我只是不知道到底应该在服务器端放什么,在客户端放什么。我知道模板在客户端。但是javascript代码呢?你能给我一个服务器端代码的例子吗Meteor:客户端和服务器端的代码是什么?,meteor,Meteor,我只是不知道到底应该在服务器端放什么,在客户端放什么。我知道模板在客户端。但是javascript代码呢?你能给我一个服务器端代码的例子吗 如果创建一个名为client的目录,该目录将仅指向客户端 如果您创建了一个名为server的目录,该目录只指向服务器 您编写的所有其他代码都将同时发送到客户端和服务器。(即使 您使用Meteor.isServercheck) 您可以阅读有关目录结构的更多信息 下面是一个集合示例:声明、发布和订阅集合 服务器和客户端(除private、client或Serve
client
的目录,该目录将仅指向客户端server
的目录,该目录只指向服务器Meteor.isServer
check)您可以阅读有关目录结构的更多信息 下面是一个集合示例:声明、发布和订阅集合 服务器和客户端(除
private
、client
或Server
之外的任何目录,也不要使用public
),声明集合:
Rocks = new Meteor.Collection('rocks');
Meteor.publish('allRocks', function()
{
return Rocks.find();
}
服务器端(Server
目录或在Meteor.isServer
条件下),发布集合:
Rocks = new Meteor.Collection('rocks');
Meteor.publish('allRocks', function()
{
return Rocks.find();
}
客户端(Client
目录或处于Meteor.isClient
状态),订阅出版物:
Meteor.subscribe('allRocks');
您可以在或中找到许多示例
编辑:根据OP的问题获得更高的精度。。。默认情况下,所有代码都是共享的(由服务器和客户端执行)。但是,
服务器
和私有
目录中的文件将永远不会发送到客户端。您可以使用Meteor.isClient和Meteor.isServer将代码加载到正确的位置
使用文件夹:
- 服务器-转到服务器duh李>
- 客户-去客户那里李>
- 双共享代码
api.add_files(['my-packages.js', 'another-file.js'], 'client');
api.add_files(['server/methods.js'], 'server');
在本例中,尽管您有一个服务器
文件夹,但这并不意味着在软件包场景中它将被放置在服务器中
您已经编写了将在客户机和服务器上运行的代码,但某些功能可能只在服务器或客户机上存在
例如:
ImageManager = {
uploadImageToAmazonS3 : function(){
if(Meteor.isServer){
//your code goes here
//YOU DON'T WANT TO SEND YOUR AMAZON PRIVATE KEY TO THE CLIENT
//BAD THINGS CAN HAPPEN LIKE A HUGE BILL
var amazonCredentials = Config.amazon.secretKey;
}
else{
throw new Error("You can't call this on the client.");
}
}
}
这是一个场景,您可以添加客户端可以执行的功能,如:resizeImage、cropImage等,服务器也可以这样做,这是共享代码。向客户端发送私有API密钥是毫无疑问的,但此文件将由服务器和客户端共享
文件:
根据文档,这不会阻止代码被发送到客户端,它根本不会运行。
使用这种方法,攻击知道服务器上的工作方式,并可以根据发送给他的代码尝试攻击向量。
这里最好的选择是仅在服务器上扩展ImageManager。在客户端上,此函数甚至不应该存在,或者您可以简单地添加一个抛出错误的函数:“不可用”。您可以在服务器端代码中编写所有业务逻辑和复杂的数据库操作。通常是您不希望提供给客户机的代码 比如说 方法调用 发布/订阅
Html、css和模板管理器应该进入客户端代码。Meteor方法和发布者应该进入服务器端代码。阅读有关应用程序的更多信息,并在中阅读。客户端是否可以看到服务器上的代码?我只想向客户机隐藏部分代码。只需创建一个名为
client
的目录即可。该目录中的代码只会转到客户端,只有一个答案真正回答了op的问题(在典型的meteor应用程序中,在客户端和服务器上处理的逻辑/代码类型)。