2012-06-12 2 views
1

Я использую текстовый плагин require.js с текстом! syntaxt для рендеринга xhr-ответов как html.require.js запрашивает html-файлы, но служит им как элементы сценария

text  : 'libs/require/text' ... 

В моих взглядов я определил их как

define([ 
    'text!templates/categories.html' 
    , 'models/Categories' 
    , 'views/CategoryView' 
    ], ... 

Все работает, как и должно быть на месте.

Однако, когда я переместил этот код на сервер, он начал загрузку * .html как <script></script> элементов.

Кроме того, он также прикреплял расширение .js к имени файла .html.

ЛЮБЫЕ мысли? Загружаемые активы - CORS.

ответ

0

Исправлена ​​ошибка при форсировании текста! плагин для настройки как ВСЕГДА выполнять CORS.

Для этого я добавил следующее:

require.config({ 
    text: { 
      useXhr: function (u,p,h,p) { 
       return true; 
      } 
     }, ... 

Моя догадка, чтобы это быть проблема с CORS было правильным. Только когда я сузил его до текстового плагина, я видел, что он пытался загружать локальные ресурсы.

Я также мог бы повторить эту проблему, выполнив следующее.

define([ 
'text!http://location.com/to/external/domain/aka/cors/templates/categories.html' 
, 'models/Categories' 
, 'views/CategoryView' 
], ... 

, где я явно указываю require и текстовый плагин для загрузки этих файлов издалека.

Erik

Смежные вопросы