spine.js hem server, FAQ по сборке hem для Windows - PullRequest
4 голосов
/ 24 февраля 2012

Я пытаюсь имитировать некоторые основные функциональные возможности примера Todos.После прочтения spinejs.com, множества статей, нескольких попыток и не отрываясь от земли, мне нужно спросить и получить некоторую помощь здесь.Я хотел бы, чтобы это было более четким, и я хотел бы помочь другим.Я нахожусь на Windows7, и я использую spine.app для создания моего приложения, контроллеров, моделей - также использую jQuery.tmpl, я использую CS, но довольно плохо знаком с этим.

Я не совсемконечно, где мне нужно использовать require (если вообще) - я использую оператор modules.exports = .... для всех M, C, так что index.coffee должен быть в состоянии найти, я полагаю, возможно, это не тот случай- Я вижу, что хотя в контроллерах / контактах использовался оператор modules.exports, в индексе все еще использовался запрос require.

Является ли index.coffee исключительно важным элементом видимости?Я вижу, Контакты используют Контакт без каких-либо требуемых заявлений.

Я видел, как был создан экземпляр main.App Controller, из CS, как в Todos или в скрипте jQuery () в html, как в Contacts.
Я предполагаю, что вы должны либо -соберите все это и включите application.js ИЛИ -используйте функцию jQuery () для создания вашего приложения с помощью javascript.

Если это скомпилируется, будет ли это в public / application.js ??

Я получаю неприятную ошибку синтаксического анализа, и да, я знаю, что вы постоянно должны использовать пробелы (без табуляции)

Из-за этого я зацикливаюсь наПервая строка require require ('lib / setup')

Буду ли я нуждаться в некоторых материалах Cygwin?Я могу получить его, если это поможет.
и я видел группы Google, комментарии guillaume86, contrib и канал CS irc.

Я не уверен, какая (дата) версия hem у меня есть, но я попробовал minify: false, option и несколько других вещей, чтобы попытаться отладить это.

Хорошая новость: я довольно упрямый и заставлю это сработать, если я смогу здесь немного помочь.Еще не все, но я собираюсь завершить на этом этапе.
Заранее спасибо за ваши предложения.

1 Ответ

4 голосов
/ 26 сентября 2012

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

Перед вамиидти дальше : Я переписал это с обновлениями на Как управлять зависимостями JavaScript на стороне клиента?

Вот базовый список для настройки сПриложение для позвоночника, подола, кофе.Я работаю только на Linux, поэтому я не уверен, что некоторые из этих шагов будут иметь проблемы с окнами, а именно npm команды.Должно работать нормально на Mac;Я знаю других, которые используют тот же набор инструментов.

  1. Установите NPM: curl http://npmjs.org/install.sh | sh в системе * nix.Я предполагаю, что это доступно из командной строки.
  2. npm install -g spine.app сделает позвоночник доступным как глобальная команда
  3. spine app folder сделает проект Spine с именем app в folder, чтобы создать правильную структуру каталогов и кучу файлов скелетов, чтобы начать.
  4. cd в папку и отредактируйте dependencies.json для нужных вам библиотек.Добавьте их к slug.json, чтобы он тоже знал, где их найти.Вы можете установить hem глобально (npm install -g hem) или локально, как на следующем шаге.
  5. npm install ., чтобы загрузить все введенные зависимости, включая hem.
  6. Если вы посмотрите на конфигурацию позвоночника по умолчанию, есть app/lib/setup.coffee, где вы require все библиотеки, которые вам нужны из ваших зависимостей.Примеры:

    # Spine.app had these as dependencies by default
    require('json2ify')
    require('es5-shimify')
    require('jqueryify')
    
    require('spine')
    require('spine/lib/local')
    require('spine/lib/ajax')
    require('spine/lib/manager')
    require('spine/lib/route')
    
    # d3 was installed via dependencies.json
    require 'd3/d3.v2'
    
  7. В index.coffee вы просто require lib/setup и загружаете основной контроллер для своего приложения.Кроме того, вам нужно require любые другие классы в этих других контроллерах.

  8. Сгенерированный по умолчанию index.html обычно подойдет для загрузки вашего приложения, но при необходимости измените.
  9. С folder, запустите node_modules/hem/bin/hem server, чтобы запустить Hem-сервер, и перейдите к localhost:9294, чтобы увидеть ваше приложение.Если вы установили Hem глобально (npm install -g hem), то hem server сам по себе может работать, но иногда он путается в пути.
  10. Создайте остальную часть своего приложения, используя надлежащие методы MVC, и используйте стилусCSS и eco для представлений.

Еще одна вещь: обычно hem server обновляется автоматически при обновлении кода и сохранении файлов, что делает его удобным для отладки.Запуск hem build скомпилирует ваше приложение в два файла: application.js, который свернут, и application.css.Если после этого вы запустите hem server, он будет использовать эти файлы и больше не будет обновляться автоматически.Так что не надо hem build, пока вам действительно не понадобится минимизированная версия вашего приложения для развертывания.

См. Этот другой поток об этом: Spine.js & hem начало работы

Windows поддерживается (в прошлом были проблемы, но они были устранены ).На самом деле есть ветвь Хема, которая развивается более активно, поскольку первоначальная ветка больше не поддерживается разработчиком.Вы можете проверить ветки version0_2 или version0_3, которые получают обновления и могут в конечном итоге получить поддержку Windows.

HTH.

...