Запуск приложения 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.

Другие вопросы по тегам