Yeoman入門

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

多くのジェネレーターは、GruntGulpなどのビルドシステム、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コマンドは、最も一般的な問題を診断し、解決手順を提供します。

ジェネレーターを作成する

オーサリングを参照してください。