2012-01-11 5 views
1

私はRequireJSMustacheをJavaScriptアプリケーションで使用しています。テンプレートの内容は、text pluginを介してロードされるいくつかの外部ファイルの内部にあります。RequireJSとMustache(またはその他のエンジン):テンプレートを置く場所

私に少し迷惑をかけるのは、これが課すディレクトリ構造だけです。すべての私のスクリプトは、それゆえ、この

index.html 
js 
    libs 
    require.js 
    text.js 
    jquery.js 
    ... 
    controllers 
    ... 
    views 
    ... 
    ... 

ように私は、モジュール名を簡素化するために、baseUrl = 'js'とRequireJSを設定し、jsディレクトリの中に住んでいます。しかし、これはテンプレートをjsディレクトリ内に持っていなければなりません。そうしないと、テキストプラグインに表示されません。

テキストファイルの依存関係がscriptsディレクトリ以外の場所に表示されるようにRequireJSを設定する方法はありますか?

(もちろん、私はテキストプラグインを回避し、手動でファイルをつかむためにAJAX要求を定義するが、これは質問のポイントではありませんでした。可能ならば、私は既存のツールを使用したい)

答えて

2

絶対パスを指定できます。 docsから:

  • エンド」で:依存名は以下の特性のうちの1つを持っている場合

    しかし、それは通常のファイルパスとして、タグに渡された何かのように扱われます"または "します。https:/の.js」と

  • 開始 "HTTP"
  • は次のように、URLのプロトコルが含まれています""
+0

ありがとう、私はその部分を逃した! – Andrea

0

私は通常、自分のbaseUrlを設定します。次のようなjsで始まるスクリプトパス:

require.config({ 
    baseUrl: ".", 
    paths: { 
     "lodash": "js/ext/lodash/dist/lodash", 
     "jquery": "js/ext/jquery/jquery", 
     "domReady": "js/ext/requirejs-domready/domReady", 
     "text": "js/ext/requirejs-text/text.js" 
    } 
}); 

テンプレートを./templatesに保存して簡単に参照できます。

関連する問題