32

それで、私はYeomanを期待していましたが、すでに 1 週​​間ほど前にリリースされました。しかし、インストールに成功した後、ワークフローとバックエンド スクリプト (API) を使用した実装に戸惑いました。

シナリオ 1

ですから、これらの光沢のある BBB/Ember/Angular のすべてを必要とせず、Codeigniter または Sinatra/Rails に裏打ちされた jQuery/H5BP/Modernizr のためだけに Yeoman を使用するとします。yeoman serverPHP をネイティブにサポートしていないため (Sinatra/Rails は試していません)、ワークフローは次のようになります。

  • Yeoman によるフロントエンド開発
  • 完了したらyeoman build、ビルドされdistたフォルダーをベースとして使用してバックエンドを開発します(おそらく、distフォルダーをバックエンド実装用の別のフォルダーにコピーします(フォルダーとしましょうpublic))
  • CSS/JS を変更する必要がある場合は、yeoman を再度使用し、distフォルダーをpublic再度ビルドしてコピーします。どんどん…

しかし、そのワークフローを使用すると、ディレクトリ構造は次のようになります

cool-app/
--app/
  --yeoman development stuff
--test/
  --yeoman development stuff
--dist/
  --yeoman built stuff
.dotfiles
package.json
Gruntfile.js

それは素晴らしいことですが、CodeIgniter / Rails のディレクトリ構造とはかなり異なります。言うまでもなく、名前の違いがあります (これは Yeoman で構成可能ですか? ) ため、構築された結果をバックエンドのベースとして使用することを除いて、フロント エンドとバック エンドの両方を一度に開発する優れたワークフローを想像するのはちょっと難しいです。

シナリオ 2

BBB/エンバー/角度。率直に言って、私はそれらのものをテストしているだけなので、バックエンド コードで実装するためのヒントは大歓迎です! 私が知っている限りでは、yeoman はこれらのフレームワークに必要なファイルを app フォルダー内に生成できるので、最初のシナリオのソリューションはシナリオ 2 の問題を少し解決すると考えています

どうもありがとう!

4

2 に答える 2

37

私はこの構造を使用するのが好きです:

rails-app/
--app/
  --views/
    --js/
      --app/
      --test/
      --Gruntfile.js
--public

設定方法は次のとおりです。

  • レール 新しいレールアプリ
  • cd レール-アプリ/アプリ/ビュー
  • mkdir js
  • cd js
  • ヨーマン初期化

次に、Gruntfile.js を編集して、"output: 'dist'" を "output: '../../../public'" に変更します。

その後、「yeoman build」または「yeoman build:dist」で Rails の /public フォルダーに出力されます。

開発中は、引き続き「yeoman サーバー」を使用して開発モードで yeoman を実行できるため、行った変更はブラウザーに自動的に表示されます。

ヨーマン最高!

于 2012-09-25T13:12:29.210 に答える
3

もちろん、サンフォードの答えはシナトラでも機能しますが、開発モードで実行するために「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

これは、"yeoman init" が Sinatra アプリケーションのルート フォルダーで実行されたことを前提としています。

あとは、本番環境にデプロイする前に「yeoman ビルド」を実行していることを確認するだけで、yeoman 向けに最適化されたコンテンツが使用されます。

于 2012-12-29T09:02:27.457 に答える