3

私は RequireJS 2 をバックボーンと仲間と共に使用して、Web サイトを構築しています。すべてのビューの始まりは、通常、次のようなものです。

define([
    'libs/jquery',
    'libs/underscore',
    'libs/backbone',
    'text!templates/coletas/agendamento.html',
], function(...

私の問題は、最後の行が でテンプレートを見つけることを期待しているjs/templates/coletas/agendamento.htmlため、この貧しいプログラマーは js 以外のファイルを/js/. ./templates/それを回避し、テキスト プラグインを使用するたびにベース URL を設定する方法はありますか?

また、絶対パスも使用できません。これは、コードがサーバーのどこに到達するかわからないためです。

4

2 に答える 2

2

このスニペットは私のmain.jsからのものです

require.config({
  paths: {
    loader: 'libs/backbone/loader',
    jQuery: 'libs/jquery/jquery',
    Underscore: 'libs/underscore/underscore',
    Backbone: 'libs/backbone/backbone',
    templates: '../templates'
  }

});

これは、私のコメントのようなモジュールをロードするために使用できるrequire.configの例です(申し訳ありませんが、コメントを読むまで、アプリにこれがあることに気づきませんでした)。

構成が完了すると、さまざまなjavascriptライブラリとそのような個別のテンプレートディレクトリにアクセスできます(このスニペットは私のjs / views / overview / main.jsからのものです:

define([
  'jQuery',
  'Underscore',
  'Backbone',
  'models/overview',
  'text!templates/overview/main.html'
  ]
于 2012-08-20T18:39:16.410 に答える
1

私が従おうとするディレクトリ構造requirejs

webapp/
  main.js
  index.html
  app.js
  js/ <- your code here
  libs/ <- 3rd party stuff here
  templates/
  styles/
  etc/
  ...

require.js -modules の依存関係がwebapp- フォルダー レベルで評価されるようにすることで、さまざまな種類のファイルの分離を維持できます。

お役に立てれば!

于 2012-08-20T09:57:25.630 に答える