テキストプラグインを使用して、最適化されたRequireJSセットアップがあります。モジュールに追加されている「.js」ファイル名に遭遇しているようです。私はFirefox17でこれを見ています。
このエントリを読みましたが、すべてのファイルが同じドメインにあると確信しています。 requirejsが!textプラグインでロードされた.jstテンプレートファイルに「.js」を追加しようとするのはなぜですか?
私のファイルはにあります
- dev-img4.x.com/m/j/mains/main-article.js
- dev-img4.x.com/m/j/views/logged_out.js
- dev-img4.x.com/m/j/views/templates/logged_out.html
テキストプラグインはdev-img4.x.com/m/j/views/templates/logged_out.html.jsを検索しようとしますが、これはすべての依存関係が同じドメインにあるように見えるため、私には意味がありません。 。テキストプラグインがクロスドメインの問題があるとどのように判断するかわかりません。
main-article.js
require.config({
baseUrl: 'dev.x.com/m/j',
paths: {
'jquery': 'dev.x.com/m/j/lib/jquery',
'backbone': 'dev.x.com/m/j/lib/backbone',
'underscore': 'dev.x.com/m/j/lib/underscore',
'text': 'dev.x.com/m/j/lib/text'
},
shim: {
'underscore': {
exports: '_'
},
'backbone': {
deps: ['jquery', 'underscore'],
exports: 'Backbone'
}
},
urlArgs: 'buildlife=1',
waitSeconds: 15
});
require(['jquery', 'modules/site', 'underscore', 'backbone', 'views/logged_out'], function($, site, _, Backbone, loggedOutView) {
//This function will be called when all the dependencies
//listed above are loaded. Note that this function could
//be called before the page is loaded.
//This callback is optional.
var loggedOutBar = new loggedOutView();
/* Initialize code */
$(document).ready(function() {
/* sitewide code */
site.init();
$('.rslogo').after(loggedOutBar.render());
});
}
);
Logged_out.js
define(['module', 'jquery', 'underscore', 'backbone', 'text!views/templates/logged_out.html'], function(module, $, _, Backbone, loggedOutTemplate) {
/* Create a view of the logged out bar */
var loggedOutView = Backbone.View.extend({
className: 'loginbar',
initialize: function() {
},
template: _.template(loggedOutTemplate),
render: function() {
this.$el.html(this.template);
return this; /* Allow method chaining after render */
}
});
return loggedOutView;
});
logged_out.html
<a href="#" class="signin">Sign In</a> | <a href="#" class="signup">Sign Up</a>