javascript – Meteor后端代码是否总是在客户端可用?

前端之家收集整理的这篇文章主要介绍了javascript – Meteor后端代码是否总是在客户端可用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了测试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);

这是设计的吗?服务器端代码可以留在服务器上吗?

解决方法

如果要将服务器端代码保留在服务器上,则必须重新构建应用程序.

在应用程序的根目录中创建这些目录:

> / server – 存储仅在服务器上运行的所有内容
> / client – 存储仅在客户端上运行的所有内容
> / public / – 存储任何应该可以在http:// yoursite /(即图像,字体)访问的内容.如果您在/ public中放置a.jpg图像,可以在http://yoursite/a.jpg上找到

使用此结构后,您不必再使用if(Meteor.isServer){..}或if(Meteor.isClient){..}条件,因为它们将在正确的位置运行.

当您将文件放在meteor应用程序的根目录中时,它们将在客户端和服务器上运行,因此这就是文件未更改的原因. if(Meteor.isServer)中的所有内容都只能在服务器上运行.

它是设计的,在服务器和客户端之间共享代码非常有用,尽管它对客户端和客户端都是可见的.服务器

猜你在找的JavaScript相关文章