Подтвердить что ты не робот

Рабочий процесс 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

Спасибо большое!

4b9b3361

Ответ 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" перед развертыванием в производственной среде, и будет использоваться оптимизированный для пользователя контент.