チーム向けにカスタムJSSアプリテンプレートを作成しましょう

Version: 19.x
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

JSSは、jss createと組み合わせて新しいJSSアプリを作成できるアプリケーションサンプルのカスタマイズをサポートし、必要に応じてサンプルアプリケーションをJSS形にしたり、将来のプロジェクトでカスタムサンプルを再利用したりできます。

カスタムテンプレートを作成してください

JSSのカスタムテンプレートは、サンプルアプリのコピーから始まり、それを修正・配布できます。

各JSSサンプルアプリケーションのルートにはファイルjss-create.jsがあります。

開発者がサンプルアプリを基にアプリを作成するコマンドjss create実行すると、JSSテンプレートファイルを取得し、宛先ディレクトリにコピーし、npm installを実行し、もし存在すればjss-create.jsファイルを呼び出します。

このスクリプトは、パッケージ名やSitecore設定パッチ名などのアプリ要素を新たに作成されたアプリの名前に合わせて変更します。このスクリプトはテンプレート作成者がカスタム機能を追加する拡張ポイントです。また、テンプレート作成者がjss createがアプリケーション作成を終えた後にカスタム指示で示された手順を修正することも可能です。

例えば:

module.exports = function createJssProject(argv, nextSteps) { console.log(`Executing create script: ${__filename}...`);

// if your template needs to change or add to the next steps shown // to the user after the create completes, you can manipulate the `nextSteps` // array before returning it: nextSteps.push('* Reticulate the splines'); return nextSteps;

// ...or replace it entirely return '* These are the only next steps shown', '* The defaults are ignored' ; };

!注完成すると、新しいアプリではjss-create.jsファイルが削除されます。

カスタムテンプレートをテストしてください

カスタマイズされたアプリテンプレートを作成したら、配布前にそのテンプレートに基づいて新しいアプリを作成するテストをすることをお勧めします。コマンドjss createはローカルに保存されたテンプレートを使ってアプリケーションを作成することをサポートします。

ローカルテンプレートをテストするには:

  1. テンプレートライブラリを保存するフォルダを作成しましょう。

  2. アプリのテンプレートをライブラリフォルダに移動またはコピーしてください。例えば、ライブラリが ~/jss-templatesで新しいテンプレートがreact-customと呼ばれている場合、そのテンプレートは ~/jss-templates/react-customに属します。

  3. ターミナルで、カスタムテンプレートに基づいてJSSアプリを作成するために以下のコマンドを実行してください。

    jss create react-custom --source ~/jss-templates

カスタムテンプレートを配布する

他の開発者と共有するためのカスタムテンプレートを配布するには、Githubリポジトリをご利用ください。

このコマンドjss create 、公開テンプレートの配布に関する --repositoryおよび --branchオプションをサポートしています。プライベートリポジトリおよびGitHub以外のリポジトリは サポートされていません

jss create react-custom --repository githubusername/reponame --branch branchname

!警告カスタムテンプレートを使うと、そのテンプレートがあなたのマシン上でコードを実行できます。信頼できるソースのアプリテンプレートだけを使いましょう。

この記事を改善するための提案がある場合は、 お知らせください!