#php #development-environment #command-line-interface #sprockets #lithium
#php #среда разработки #интерфейс командной строки #sprockets #литий
Вопрос:
Хотя я признаю, что обработка зависимостей sprockets потрясающая, у меня мало знаний о том, как правильно ее использовать, чтобы она соответствовала моим потребностям. На самом деле я работаю над приложением php 5.3 (на базе lithium framework # li3), и я начинаю разработку общедоступного файла javascript, предназначенного для отправки запросов на наши серверы и создания фрагментов DOM с результатами. В принципе, я готов организовать свои исходные тексты в модулях, каждый из которых посвящен одной задаче (ajax-запрос, синтаксический анализ json, генерация DOM и т. Д.), И Чувствую желание использовать sprockets.
НО как sprockets можно было бы красиво и каким-то образом прозрачно интегрировать в мой рабочий процесс (я хочу избегать задач CLI каждый раз, когда я изменяю один из своих файлов) в моей локальной среде. ?
Я уверен, что это как-то возможно, но мои знания sprockets не позволяют мне обнаружить это самостоятельно.
Вы сталкивались с теми же проблемами? Как это можно решить? Спасибо
Комментарии:
1. Ну, тогда вы должны автоматически создавать свое программное обеспечение. Просто запустите сборку, и ваша локальная среда готова к запуску.
Ответ №1:
Обычно в локальной среде вы запускаете sprockets как веб-сервер. Как правило, это предполагает добавление config.ru
файла в ваше приложение с чем-то вроде
require 'sprockets'
map '/assets' do
environment = Sprockets::Environment.new
environment.append_path 'app/assets/javascripts'
environment.append_path 'app/assets/stylesheets'
run environment
end
и запустите его с rackup config.ru
помощью . Это должно перезагружать ваши ресурсы каждый раз, когда вы их меняете.
Комментарии:
1. Пожалуйста, поделитесь со мной, но ruby facts and figures еще не мой мир. Мне нужно немного больше информации: каждый раз, когда я хочу, чтобы мои ресурсы были скомпилированы, я должен запускать rakup? Параметр map «связывает» все, что проходит через «активы», будет ускорено?
2. Нет. Когда вы запустите rackup, он запустит сервер, который будет обслуживать ваши ресурсы на localhost:SOME_PORT/assets . То, где ваши ресурсы фактически сохраняются, определяется
append_path
вызовами (в данном случае ‘app / assets / javascripts’ и ‘app / assets / stylesheets’). Сервер должен автоматически перекомпилировать ваши ресурсы каждый раз, когда они запрашиваются (некоторое кэширование происходит, но вам не нужно об этом беспокоиться).3. Есть ли шанс найти что-нибудь (я имею в виду учебник) о параллельном запуске rack и apache? Если apache потребует один из файлов ресурсов, rack возьмет на себя и обработает этот запрос?
4. Я не знаю. Я сам не использую Apache. Я думаю, что поиск в Google о passenger может вам помочь.
5. @pixelboy с Ruby вы используете сервер приложений, такой как passenger или thin (для обслуживания приложений в стойке), а apache используется только для настройки того, где работает сервер приложений, когда кто-то переходит в ваш домен.