2016-12-16 3 views
1

私はノードアプリケーションを開発する方法を学んでいます。これは、人々が街の周辺で起こっている出来事を投稿できるアプリです。ejsファイルにスクリプトタグを使用する必要がありますか?

私は新しいイベントを送信するためのejsファイルnew.ejsを持っています。明らかにイベントの開始時刻と終了時刻があります。私は、終了時刻が開始時刻の後であることを確認するため、次のように私は単純に、それを行うためのスクリプトを追加しました:

  <!-- EVENT DATE AND TIME --> 
      <div class=row> 
       <!-- DATE --> 
       <div class="form-group col-md-4"> 
        <label for="date">Date *</label> 
        <input name="date" type="date" class="form-control" id="date"> 
       </div> 
       <!--START TIME --> 
       <div class="form-group col-md-4 "> 
        <label for="starttime">Start Time *</label> 
        <input name="starttime" type="text" class="form-control" id="starttime"> 
       </div> 
       <!--END TIME --> 
       <div class="form-group col-md-4 "> 
        <label for="endtime">End Time *</label> 
        <input name="endtime" type="text" class="form-control" id="endtime"> 
       </div> 
       <script type="text/javascript"> 
        $('#starttime').timepicker(); 
        $('#endtime').timepicker({ 
         'minTime': '12:00am', 
         'showDuration': true 
        }); 
        $('#starttime').on('changeTime', function() { 
         $('#endtime').timepicker('option', 'minTime', $(this).val()); 
        }); 
       </script> 
      </div> <!-- END OF ROW --> 

さて、これはそれが私はそれが何をしたいのかない、うまく動作します。

しかし、私はEJSがバックエンド(ノード)のjavascriptコードを取り、それをビューにレンダリングするように設計されていることを知っています。

私の質問は:

  1. は、タグの間にハックをフロントエンドのコードを追加していますか?つまり、これは適切なコーディング方法ですか?そうでない場合は、これを行うためのより良い方法は何ですか?

  2. 今のところ、スクリプトタグの間に少量のコードしかありません。私がアプリケーションを開発し続けると、コードが長すぎるとどうなりますか? ejsファイルに残す必要がありますか?あなたのアプリが(ないシングルページアプリケーション)レンダリングサーバ側であれば、あなたのアプローチは健全である

答えて

0
  1. ...あまりにも汚いと思われます。

  2. あなたは/publicフォルダ内のJSファイル内のコードを入れて、静的ファイルとしてこれらのファイルを提供するためにあなたのノードのサーバーを構成し、それらのJSファイルを参照.ejsファイルに<script>タグを追加することができます。

このような実装のサンプルプロジェクトがあります。 Thisがあなたのejsファイル(私の場合はjade)になり、thisはあなたのスクリプトファイルを置く場所です。最後に、thisのようなディレクトリから静的資産を提供するようにアプリを設定します。

+0

ご返信ありがとうございます!それが助けになった – Asool

関連する問題