2015-09-14 1 views
0

Мой вопрос прост. Представьте, что у вас есть проект, построенный с использованием марионетки/магистрали, и у вас есть две целевые медиа: мобильные и настольные. Существует резервный сервер, написанный на DJango (или Ruby, или т. Д.).Как организовать проекты Marionette между производством и dev?

Как организовать проект, чтобы я мог скомпилировать его на мобильный и заставить его работать на рабочем столе? Я имею в виду, представьте коллекции, имеющие параметр url. Установить его относительно? Абсолютно, с нуля?

Проект уже имеет допустимый макет, где я могу скомпилировать его с помощью r.js. Это довольно много, как это:

repo-root/ 
- src/ 
    - assets/ 
    - css/ 
    - images/ 
    - project-code/ 
    - vendor/ 
    - build.js 
    - config.xml (phonegap conf) 
    - index.html 
    - main.js 
- tests/ 
- bower.json 
- .gitignore 

вот пример коллекции:

define(function(require){ 
    "use strict"; 
    var Backbone = require("backbone"); 
    var FeatureClass = require("atlas-backbone/models/FeatureClass"); 
    return Backbone.Collection.extend({ 

     url: "api/featureclasses", 
     model: FeatureClass 

    }); 
}); 

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

+0

Коллекции обрабатывают данные, они предназначены для независимости от презентации (мобильный, рабочий стол, планшет и т. Д.) –

+0

@LeshaOgonkov: ОК, конечно. Но как я могу определить его URL-адрес, если он предназначен для работы с мобильного устройства, разговаривающего с удаленным сервером (абсолютный URL-адрес, например: http://foo.com/api/featureclasses), и должен работать в dev и работать с рабочим столом машина (относительный URL-адрес, например api/featureclasses)? –

+0

имитирует локально? Я предпочитаю использовать относительные пути, чтобы сделать его более простым, поэтому локально вы получите 'dev.local/api/foo', указав на ваш макетный сервер. Вы можете использовать абсолютные пути, но тогда вам нужно отредактировать файл 'hosts' каким-то сложным способом. –

ответ

1

В моей текущей работе по моему текущему проекту мы широко используем задачи Gulp и gulp. У нас есть задачи Gulp для производства и разработки, а также настройка различных трубопроводов для каждого.

Возможно, если вы хотите управлять такими вещами независимо, вы можете использовать более устаревшие методы, такие как макет сервера, относительные URL-адреса или изменения файлов хоста.

+0

Cool. Я проверю это. –