Текстовый плагин requirejs интерпретирует HTML как скрипт

Я использую текстовый плагин require.js ( https://github.com/requirejs/text) для загрузки моих html-модулей с сервера.

У сервера есть другой хост, поэтому разрешите запрос coss-domain-request, используя Xhr в объекте require.config.

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". require.js: 1843 Uncaught SyntaxError: Неожиданный токен

Кто-нибудь имел представление, где проблема?

Спасибо за помощь

1 ответ

Мне понадобилось много часов, чтобы найти это здесь. 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'
}
Другие вопросы по тегам