Ich verwende eine .jst-Erweiterung für Vorlagendateien und lade diese mit dem requirejs text! plugin. z.B.,
define([
'jquery',
'backbone',
'underscore',
'text!templates/MyView.jst'
],
function($, Backbone, _, templateText) {
return Backbone.View.extend({
template: _.template(templateText),
initialize: function() {
},
render: function() {
}
});
});
Das funktioniert prima, wenn ich es vor Ort teste. Wenn ich jedoch versuche, dies zu tun, nachdem ich meine statischen Dateien auf AWS bereitgestellt habe (die dynamischen Teile der App laufen auf Heroku), schlägt es fehl, die JST-Dateien zu laden und scheint zu versuchen, ein JS an ihre URLs anzuhängen.
Als Referenz, hier ist meine requirejs-Konfiguration (aus main.js)
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']
}
});