私はテンプレートファイルに.jst拡張子を使用し、requirejsテキストでこれらをロードします!プラグイン。例:なぜrequirejsは!textプラグインでロードされた.jstテンプレートファイルに '.js'を追加しようとしていますか?
define([
'jquery',
'backbone',
'underscore',
'text!templates/MyView.jst'
],
function($, Backbone, _, templateText) {
return Backbone.View.extend({
template: _.template(templateText),
initialize: function() {
},
render: function() {
}
});
});
ローカルでテストするとうまくいく。しかし、静的なファイルをAWS(アプリケーションの動的部分がHeroku上で実行されている)にデプロイした後、これを実行しようとすると、.jstファイルがロードされず、.jsファイルを.jsファイルに追加しようとしているようですURL。
は参考のために、ここで私はこの問題を説明する情報をtext.jsのREADMEを更新
requirejs.config({
paths: {
//directories
plugins: "lib/plugins",
//libs
jquery: "lib/jquery/1.7.1/jquery",
underscore: "lib/underscore/1.3.3/underscore",
backbone: "lib/backbone/0.9.2/backbone",
moment: "lib/moment", // date lib
//require plugins
text: "lib/require/plugins/text",
domReady: "lib/require/plugins/domReady"
},
shim: { //specify all non-AMD javascript files here.
backbone: {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
underscore: {
exports: '_'
},
moment: {
exports: 'moment'
},
'plugins/jquery.colorbox': ['jquery'],
'util/jquery.dropTree':['jquery'],
'util/common':['jquery']
}
});
:http://requirejs.org/docs/api.html#config-baseUrlそのそれのように見えることは、クロスドメインの問題になることがあります。誰かがこれを確認できますか? (確かにそれが答えであれば自由に感じてください)。これが当てはまる場合、それを扱う曖昧な方法です。私は当初、テンプレートはJSファイルと同じドメイン上になければならなかったが、ページ自体と同じドメイン上になければならないようだ。これを実現するには、次のステップ(r.jsオプティマイザを使用してすべてを実行する)を開発していく必要があるようです。 –