Запуск приложения Backbone как независимого приложения JS - маршруты не работают
В настоящее время я запускаю магистраль как интерфейс моего приложения rails 3.2. Мне нужно перенести его в независимое приложение JS, как часть моего размещения как части Trigger.io.
Теперь он существует как собственный файл index.html со ссылкой на папку ресурсов.
Когда я открываю файл, он загружает модули Backbone, но страница остается пустой. И когда я запускаю команды fetch(),
Итак, я получил пару qns:
1) Как я запускаю маршруты так, что по умолчанию он попадает на назначенную страницу?
Я знаю, что это происходит в Backbone.History.Start, но я не уверен, что делать до этого.
2) URL-адрес "file: //localhost/Users/mingyeow/Desktop/index.html"
Как вручную установить корневой URL-адрес для использования localhost:3000/ мой веб-адрес?
2 ответа
// define router
var Router = Backbone.Router.extend({
routes : {
'index' : 'indexAction',
'*default' : '_defaultAction'
},
indexAction : function() {
// this will be executed when user navigate to #index
},
_defaultAction : function() {
// this will be executed when user navigate anywhere else (#XXX)
}
});
// on document ready
$(function() {
// initialize router
new Router();
// and start history
Backbone.history.start();
});
Вы можете перемещаться по этому пути.
Или нажав на ссылку: <a href="#index"">Index route</a>
Вы можете использовать сервер Python. Для запуска введите в Терминале:
$ python -m SimpleHTTPServer
И проверить http://localhost:8000
1) Чтобы вызвать изменение маршрута, вам просто нужно перейти на страницу через href или JavaScript, например window.location. Читайте о магистральных маршрутах, но, по сути, вам нужно написать функцию для каждой "страницы". Каждая функция должна заботиться о рендеринге страницы.
2) Это должно быть очень просто. Вам нужен локальный веб-сервер. То, что я начал делать недавно, это просто простой сервер Node. Узел очень прост в установке и с ним стоит поэкспериментировать. Загрузите статический веб-сервер, такой как этот, который я сделал. Чтобы использовать его, просто поместите свое базовое приложение в каталог с именем public и запустите server.js на узле. Если вы не хотите этого делать, вы можете запустить простую установку LAMP/WAMP/MAMP и установить корневой каталог веб-сервера Apache.