6

テスト Meteor アプリケーションを作成したところ、クライアントの開発ツールで全体的なコード (サーバー側も) を確認できることがわかりました。アプリのテスト (ブラウザーで):

 (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);

これは設計によるものですか?サーバー側のコードはサーバーにとどまることができますか?

4

1 に答える 1

13

サーバー側のコードをサーバーに保持したい場合は、アプリを再構築する必要があります。

アプリケーションのルート ディレクトリに次のディレクトリを作成します。

  • /server - サーバー上でのみ実行するすべてを保存します
  • /client - クライアントのみで実行するすべてを保存します
  • http://yoursite//public/ - アクセス可能なもの(画像、フォントなど)を格納します。画像を配置するa.jpg/publichttp://yoursite/a.jpg

この構造を使用すると、適切な場所で実行されるため、if(Meteor.isServer) {..}またはif(Meteor.isClient) {..}条件を使用する必要がなくなります。

meteor アプリケーションのルート ディレクトリにファイルを配置すると、ファイルはクライアントサーバーの両方で実行されるため、ファイルは変更されず、その中のすべてがif(Meteor.isServer)サーバーでのみ実行されます。

サーバーとクライアントの間でコードを共有することは設計上非常に便利ですが、クライアントとサーバーの両方に表示されます。

于 2013-08-09T10:07:00.060 に答える