Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.12.2011, 00:23
Новичок на форуме
Отправить личное сообщение для Filsh Посмотреть профиль Найти все сообщения от Filsh
 
Регистрация: 01.07.2010
Сообщений: 8

Помощь по RequireJS
Не знал куда поместить тему, решил сюда
Пишу модульное приложение в котором все скрипты поделены исходя из их ф-ности, на Backbone. Решил использовать RequireJS, но возникла проблема в подгрузке шаблона из View
// здесь начинается загрузка модуля
define([
    'modules/chat/chatView'
], function (chatView) {
    var initialize = function() {
        chatView.render();
    }
})

// modules/chat/chatView.js
define([
    'inc',
    'text!./templates/main.html'
], function(inc, html) {
    
    var chatView = Backbone.View.extend({
        el: $('#main-container'),
        render: function() {
            var data = {};
            var compiledTemplate = _.template($('#chat-template').html(), data);
            this.el.append(compiledTemplate);
        }
    });

    return new chatView;
});

// templates/main.html
<script type="text/template" id="chat-template">
    <div class="resizable-container">
        <div id="chat-container"></div>
    </div>
</script>

Проблема в том что этот require думает что нужно грузить js и в итоге
к пути добавляет еще .js, но даже после загрузки templates/main.html.js он его начинает выполнять как код и в итоге ошибка в FireBug
XML can't be the whole program

Подскажите, что не так?
Ответить с цитированием
  #2 (permalink)  
Старый 06.12.2011, 00:31
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

дык может вместо define попробовать require
Ответить с цитированием
  #3 (permalink)  
Старый 06.12.2011, 00:58
Новичок на форуме
Отправить личное сообщение для Filsh Посмотреть профиль Найти все сообщения от Filsh
 
Регистрация: 01.07.2010
Сообщений: 8

Не помогает, он так вообще ничего не грузит, в первом скрипте пишет
chatView is null

там что то другое чего я не знаю, где то что то нужно дописать
Ответить с цитированием
  #4 (permalink)  
Старый 06.12.2011, 01:04
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ну в документации написано именно так http://requirejs.org/docs/api.html#text что бы загрузить обычный текстовой файл

может у тебя версия старая, эта функци с версии 1.4 поддерживается.
Ответить с цитированием
  #5 (permalink)  
Старый 06.12.2011, 01:22
Новичок на форуме
Отправить личное сообщение для Filsh Посмотреть профиль Найти все сообщения от Filsh
 
Регистрация: 01.07.2010
Сообщений: 8

require оказался асинхронным поэтому была ошибка
chatView is null

но это проблему не решило, ошибка с первого поста осталась
В доке там не версия, а параграф 1.4
Ответить с цитированием
  #6 (permalink)  
Старый 06.12.2011, 01:23
Новичок на форуме
Отправить личное сообщение для Filsh Посмотреть профиль Найти все сообщения от Filsh
 
Регистрация: 01.07.2010
Сообщений: 8

мне кажется у меня шаблон не правильный, но в доке я не нашел ни одного примера правильного, ведь он то его грузит...
хотя он грузит templates/main.html.js и смотря на .js в конце думает что это скрипт...

Последний раз редактировалось Filsh, 06.12.2011 в 01:27.
Ответить с цитированием
  #7 (permalink)  
Старый 06.12.2011, 01:27
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Ну я что смог подсказал, вычитав в доке. А библу эту не юзал, понятия не имею как она вообще работает. Так что может еще кто что подскажет.
Ответить с цитированием
  #8 (permalink)  
Старый 06.12.2011, 15:02
Новичок на форуме
Отправить личное сообщение для Filsh Посмотреть профиль Найти все сообщения от Filsh
 
Регистрация: 01.07.2010
Сообщений: 8

разобрался банальная ошибка
у меня стоит nginx(localhost:80) который раздает статику и nodejs(localhost:8888) как основной сервер
шаблоны попадают под статику, в следствии чего кроссдоменый запрос и ошибка))

Все легко и просто, но убил на это я часов 5
Ответить с цитированием
  #9 (permalink)  
Старый 06.12.2011, 15:16
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Ну главное убил не просто так. Результат есть и это хорошо
Ответить с цитированием
  #10 (permalink)  
Старый 06.12.2011, 15:24
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

К nodejs надо тоже через nginx пускать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бесплатная помощь новичкам iCanary Общие вопросы Javascript 11 30.11.2015 20:35
нужна помощь в JavaScript михаил Общие вопросы Javascript 26 30.10.2013 12:07
Очень нужна помощь с Ext JS dcbal ExtJS 1 09.07.2010 13:15
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17
Срочно нужна помощь Гость Общие вопросы Javascript 2 02.09.2008 14:13