1

クライアント側でjqueryを厳密に使用したいので、npmインストールを実行しなくても、jqueryでnodejsを使用できるようにしたいと考えています。Jade テンプレート エンジンでは構文が完全に異なるため、これが不可能であることはわかっていますが、他のテンプレート エンジンでは可能でしょうか? nodejsを幸せにするためだけに、たくさんのHTMLをhamlに持たないことを望みます。

4

2 に答える 2

4

JadeでjQueryまたはその他のJavaScriptクライアント側ライブラリを使用することは確かに可能です。使用するエンジンにJavaScriptファイルとJavaScriptコードを含めるための構文を理解する必要があります。Jadeを使用すると、script()を使用して外部ファイル(jQueryライブラリなど)をインクルードし、スクリプトを使用して特定の呼び出しをコーディングできます。ここでJadeのドキュメントを見てください:https ://github.com/visionmedia/jade#readme

以下は、(1)jQueryを含み、(2)jQueryを介してHTML要素(「メッセージ」)を更新するJadeファイルの例です。

doctype 5
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    script(src='http://code.jquery.com/jquery-1.8.1.js')
  body
    h1= title
    p#container Welcome to #{title}
    p#message (to be filled in)
    script
      alert('hello world');
      $("#message").html("message set through jquery")
于 2012-09-12T23:52:59.793 に答える
3

Jade を別の言語や、既存の HTML/JS スタックと何らかの形で互換性がないものと考えないでください。Jade は、サーバー側のデータを副産物として挿入できる HTML を簡単に記述する方法にすぎません。

私の個人的なスタックでは、サーバー側で Express + jade を使用し、クライアント側で angularjs、jquery、および twitter ブートストラップを使用します。私はすべてのインポートを管理するために require.js を使用しています。私の jade テンプレートには、すべての require.js ロジックを含む main.js ファイルを指す単一の script() 参照しかありません。

しかし、エクスプレス/ジェイドに関する限り、重要なのは、それがあなたの人生を複雑にするためにあるのではなく、あなたの人生を楽にするためにあることを理解することです. わかりにくいと思われる場合は、別のテンプレート エンジンに切り替えるか、何も挿入されていない静的な HTML ページを高速で提供し、AJAX サービスをセットアップして、必要なサーバー側のデータを取得します。

于 2012-09-13T00:01:09.753 に答える