我使用require.js文本插件(https://github.com/requirejs/text)从服务器加载我的html模块。
服务器有另一个主机,因此通过在require.config对象中使用Xhr来允许coss-domain-request。
text: {
useXhr: function (url, protocol, hostname, port) {
// allow cross-domain requests
// remote server allows CORS
return true;
}
},
但是当我加载一些模块时,浏览器会尝试将加载的文件解释为javascript文件。
define([
'text!/view_templates/header.html'], function(html){
console.log(html)
})
在更加光明的地方获得:
资源解释为脚本但以MIME类型传输 为text / html: " http://app-id.appspot.com/gadget/js/app/view_templates/header.html&#34 ;. require.js:1843 Uncaught SyntaxError:意外的令牌< header.html中:1
有没有人知道问题出在哪里?
感谢您的帮助
答案 0 :(得分:0)
花了我很多时间才发现here。 useXhr可能因为配置密钥不正确而无法调用。它不仅仅是text
,它还需要包含路径。所以它应该是:
'some/path/to/text': {
useXhr: function (url, protocol, hostname, port) {
return true;
}
},
或者也应该起作用:
text: {
useXhr: function (url, protocol, hostname, port) {
return true;
}
},
paths: {
text: 'some/path/to/text'
}