Рабочий процесс Yeoman и интеграция с скриптами Backend
Итак, я ожидал Yeoman, и он уже на неделю или около того. Но после его успешной установки я был замешан в рабочем процессе и реализации с помощью backend script (API).
Сценарий 1
Итак, скажем, мне не нужны все эти блестящие вещи BBB/Ember/ Angular и используйте Yeoman только для jQuery/H5BP/Modernizr, поддерживаемых Codeigniter или Sinatra/Rails. Поскольку yeoman server
не поддерживает PHP (я не пробовал Sinatra/Rails), я считаю, что рабочий процесс:
- Развитие переднего плана с Йоменом
- После этого сделайте
yeoman build
, а затем используйте встроенную папку dist
в качестве базы для разработки бэкэнд (и, возможно, скопируйте папку dist
в другую папку для реализации backend (скажем, public
)
- Если я должен изменить CSS/JS, снова используйте yoman, создайте и скопируйте папку
dist
в public
снова. Так и дальше...
Но используя этот рабочий процесс, это означает, что структура каталогов будет выглядеть как
cool-app/
--app/
--yeoman development stuff
--test/
--yeoman development stuff
--dist/
--yeoman built stuff
.dotfiles
package.json
Gruntfile.js
Это хорошо и все, но совсем немного отличается от структуры каталогов CodeIgniter/Rails. Не говоря уже о различиях в названиях (это настраивается в Yeoman?), поэтому очень сложно представить хороший рабочий процесс, который разрабатывает как Front End, так и Back End за один раз, за исключением использования построенного результата как база для бэкэнд.
Сценарий 2
ВВВ/Ember/Angular. Честно говоря, я просто тестировал эти вещи, поэтому приветствуются любые советы по внедрению с помощью backend-кода! Хотя для всех, кого я знаю, yeoman может генерировать необходимые файлы для этих фреймворков внутри папки приложения, поэтому я считаю, что решение первого сценария будет решить проблему для сценария 2
Спасибо большое!
Ответы
Ответ 1
Мне нравится использовать эту структуру:
rails-app/
--app/
--views/
--js/
--app/
--test/
--Gruntfile.js
--public
Вот как я его установил:
- rails new rails-app
- cd rails-app/app/views
- mkdir js
- cd js
- yoman init ember
Затем отредактируйте Gruntfile.js, чтобы изменить "output: 'dist" на "output:".. /../../public' "
После этого в папку Rails/public будет выводиться "yeoman build" или "yoman build: dist".
Во время dev вы все равно можете использовать "yeoman server" для запуска yoman в режиме разработки, поэтому любое изменение, которое вы сделаете, будет автоматически отображаться в браузере.
Йомен - это здорово!
Ответ 2
Ответ Сэнфорда, конечно же, будет работать и на Sinatra, но есть немного другое решение, которое можно использовать, чтобы вам не нужно было выпускать "yeoman build" для запуска в режиме разработки.
В Sinatra общая папка настраивается, поэтому вы можете иметь блок конфигурации, который выглядит следующим образом:
configure do
set :public_folder, ENV['RACK_ENV'] == 'production' ? 'dist' : 'app'
end
Затем используйте ваши маршруты следующим образом:
get '/' do
send_file File.join(settings.public_folder, 'index.html')
end
Это предполагает, что "yoman init" запускался в корневой папке приложения Sinatra.
Все, что вы делаете, это убедиться, что вы выполнили команду "yeoman build" перед развертыванием в производственной среде, и будет использоваться оптимизированный для пользователя контент.