Yeomanは、あらゆる種類のアプリケーションの作成を可能にする汎用的なスキャフォールディングシステムです。新しいプロジェクトを迅速に開始し、既存のプロジェクトのメンテナンスを効率化します。
Yeomanは言語に依存しません。Web、Java、Python、C#など、あらゆる言語でプロジェクトを生成できます。
Yeoman自体は何も決定しません。すべての決定は、Yeoman環境のプラグインであるジェネレーターによって行われます。公開されているジェネレーターは多数あり、あらゆるワークフローに合わせて新しいジェネレーターを作成するのも簡単です。Yeomanは、スキャフォールディングのニーズに常に最適な選択肢です。
一般的なユースケースをいくつかご紹介します
- 新しいプロジェクトを迅速に作成する
- 単体テストを含む新しいコントローラーなど、プロジェクトの新しいセクションを作成する
- モジュールまたはパッケージを作成する
- 新しいサービスをブートストラップする
- 標準、ベストプラクティス、スタイルガイドを強制する
- サンプルアプリでユーザーが使い始められるようにすることで、新しいプロジェクトを促進する
- その他
はじめに
yo
は、スキャフォールディングテンプレート(ジェネレーターと呼ばれる)を利用してプロジェクトを作成できるYeomanコマンドラインユーティリティです。Yoと使用するジェネレーターは、npmを使用してインストールします。
yoとジェネレーターのインストール
まずはnpm
を使ってyo
をインストールします
npm install -g yo
次に、必要なジェネレーターをインストールします。ジェネレーターはgenerator-XYZ
という名前のnpmパッケージです。当社のウェブサイトで検索するか、yo
を実行中に「ジェネレーターをインストール」メニューオプションを選択して検索します。webapp
ジェネレーターをインストールするには
npm install -g generator-webapp
Nodeとnpmの新しいユーザーは、権限の問題に遭遇する可能性があります。これらの問題は、インストール中にEACCESS
エラーとして表示されます。これが発生した場合は、npmの権限修正ガイドを参照してください。
npmはNode.jsのパッケージマネージャーであり、Node.jsにバンドルされています。
Windowsでは、エクスペリエンスを向上させるために、cmder
やPowerShellなどのより優れたコマンドラインツールを使用することをお勧めします。
基本的なスキャフォールディング
以下の例では、generator-webapp
を使用します。同じ結果を得るには、webapp
をジェネレーターの名前に置き換えてください。
新しいプロジェクトをスキャフォールディングするには、以下を実行します
yo webapp
ほとんどのジェネレーターは、新しいプロジェクトをカスタマイズするための一連の質問をします。使用可能なオプションを確認するには、help
コマンドを使用します
yo webapp --help
多くのジェネレーターは、GruntやGulpなどのビルドシステム、npmやBowerなどのパッケージマネージャーに依存しています。新しいアプリの実行とメンテナンスについては、ジェネレーターのサイトをご覧ください。ジェネレーターのホームページには、以下を実行することで簡単にアクセスできます
npm home generator-webapp
複雑なフレームワークをスキャフォールディングするジェネレーターは、プロジェクトのより小さな部分をスキャフォールディングするための追加のジェネレーターを提供する可能性があります。これらのジェネレーターは通常、サブジェネレーターと呼ばれ、generator:sub-generator
としてアクセスします。
generator-angular
を例にとってみましょう。完全なAngularアプリが生成されると、他の機能を追加できます。プロジェクトに新しいコントローラーを追加するには、コントローラーサブジェネレーターを実行します
yo angular:controller MyNewController
その他のyoコマンド
前のセクションで説明した基本に加えて、yo
は完全にインタラクティブなツールでもあります。ターミナルでyo
と入力するだけで、ジェネレーターに関連するすべてを管理するためのオプションのリストが表示されます。実行、更新、インストール、ヘルプ、その他のユーティリティです。
Yoはまた、以下のコマンドを提供します。
yo --help
ヘルプ画面全体にアクセスするyo --generators
インストールされているすべてのジェネレーターを一覧表示するyo --version
バージョンを取得する
トラブルシューティング
ほとんどの問題は、以下を実行することで見つけることができます
yo doctor
doctor
コマンドは、最も一般的な問題を診断し、解決手順を提供します。
ジェネレーターを作成する
オーサリングを参照してください。