【问题标题】:What is the safest way to define an object and methods that are used within a Meteor application定义 Meteor 应用程序中使用的对象和方法的最安全方法是什么
【发布时间】:2012-05-31 12:10:08
【问题描述】:

根据我在服务器上的理解,Meteor 应用程序在 node.js 纤维中的单个线程中运行。在客户端,代码在全局窗口中运行。

那么,在 Meteor 应用程序中定义服务器端和客户端的对象和方法最安全和最佳的做法是什么?

在哪些情况下传递给方法的变量是安全的,不会被另一个方法调用覆盖?

  1. 静态的?

    var myObj = {};

    myObj.someFunc = function(){...};

  2. 作为标准对象定义 var myObj = 函数 () { this.x = 函数 () {...}; };

    var myObj = new MyObject();

  3. 作为原型的方法?

    函数 MyObject() { ... }

    MyObject.prototype.someFunc = function() { }

    var myObj = new MyObject();

虽然我相信我了解静态对象、对象和原型,并且已经在这些方面使用控制台和 Meteor 进行了一些实验,但我仍然是一个菜鸟并且非常新手,我不确定,并希望获得更多经验和经验丰富的开发人员的建议。

谢谢 S

【问题讨论】:

    标签: meteor


    【解决方案1】:

    不知道你在这里问什么,但示例项目是寻找适合流星开发的代码风格的最佳位置:http://www.meteor.com/examples/

    您会看到,将客户端 js 分组到“客户端”文件夹中,将服务器端 js 分组到“服务器”文件夹中是框架的运行方式。

    客户端方法通常用

    定义
    var game = function () {};
    

    服务器端方法在 Meteor.methods 调用中声明(参见http://docs.meteor.com/#meteor_methods):

    Meteor.methods({
      start_new_game: function (evt) {};
    });
    

    希望对您有所帮助。

    【讨论】:

    • 我想我要问的是使用 var myObj = {}; 是否安全与 var myObj = function() {};我对原型及其用法仍然有些困惑。我对 javascript 还是很陌生,并且仍在阅读 O'Reilly 的好书。所以,这条评论的第一句话是最重要的。
    猜你喜欢
    • 2010-12-31
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 2012-04-28
    • 2014-11-16
    • 2020-05-13
    • 2011-06-10
    • 1970-01-01
    相关资源
    最近更新 更多