回路図-テンプレートファイルのコピーエラーの管理

ネムス

回路図filesディレクトリからメインプロジェクトのターゲットフォルダにいくつかのファイルをコピーすることができます。

function addTplFiles(path: string): Source {
  // copy templates
  return apply(url('./files'), [
    move(path as string)
  ]);
}

export function ngAdd(options: ISchema): Rule {
  return (host: Tree/*, context: SchematicContext*/) => {
    // get the workspace config of the consuming project
    // i.e. angular.json file
    const workspace = getWorkspace(host);
    // identify the project config which is using our library
    // or default to the default project in consumer workspace
    const project = getProjectFromWorkspace(
      workspace,
      options.project || workspace.defaultProject
    );
    const projectType = project.projectType === 'application' ? 'app' : 'lib';
    const path = (options.path === undefined) ? `${project.sourceRoot}/${projectType}` : options.path;

    const templateSource = addTplFiles(project.sourceRoot || '');

    // return updated tree
    try {
      return chain([
        mergeWith(templateSource)
      ]);
    } catch (e) {
      return host;
    }
  };

ファイルがすでにメインアプリプロジェクトにある場合を除いて、コードは適切に機能します。

エラー!src / assets / i18n /en.jsonはすでに存在します。エラー!src / assets / i18n /it.jsonはすでに存在します。回路図ワークフローが失敗しました。上記を参照。

この例外をキャッチして管理するにはどうすればよいですか?

ティエリーファルボ

2つのオプションがあります:

  • --force回路図コマンドでオプションを使用して、既存のすべてのファイルを強制的に上書きします。
  ng g @custom/my-schematics:rule --force
  • ファイルが回路図コードにすでに存在するかどうかを確認し、この場合は特定の動作を適用します。
const templateSource = apply(url('./files'), [
  forEach((fileEntry: FileEntry) => {
    if (tree.exists(fileEntry.path)) {
      console.log('File already exists, but it\'s ok');
      return null;
    }
    return fileEntry;
  })
]);

return chain([
  mergeWith(templateSource)
]);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

回路図-テンプレートファイルのコピーエラーの管理

分類Dev

角度回路図の混乱

分類Dev

NN回路図のKerasモデル

分類Dev

Angularの回路図とは何ですか?

分類Dev

Dラッチ回路図とDフリップフロップ回路図の違い

分類Dev

角度pwa回路図ライブラリの使用方法

分類Dev

コンテンツプロバイダーで回路図面ライブラリを適用中に不明なURL

分類Dev

ViewChildの更新に使用されるAngular8アップグレード回路図

分類Dev

回路図作成ソフトウェアを探しています

分類Dev

回路図作成ソフトウェアを探しています

分類Dev

特定の回路図で複数の列名を変更する

分類Dev

Angular回路図のbranchAndMerge関数は何をしますか?

分類Dev

Angular回路図で現在のパスを使用する方法

分類Dev

ビルド回路図を角度で作成する

分類Dev

Angular / CLI 6.xのカスタム回路図はエラーなしでビルドされますが、ファイルの生成に使用できません

分類Dev

Minecraft回路図(nbt)ファイルのデータ(つまりブロック状態)バイトをデコードする方法は?

分類Dev

Macに角度回路図をインストールします:コマンドが見つかりません

分類Dev

AngularMaterialsメニューの回路図が開いたままになっている

分類Dev

AngularMaterialsメニューの回路図が開いたままになっている

分類Dev

回路図「my-comp」はファクトリを解決できません

分類Dev

コレクション「@angular / material」に回路図「materialDashboard」が見つかりません

分類Dev

角度6プロジェクトで回路図変数を設定する

分類Dev

回路図「仕様」:falseがIonic4アプリで機能しない

分類Dev

コレクション「@schematics / angular」に回路図「ライブラリ」が見つかりません

分類Dev

アンダースコアで始まるファイルを生成するカスタムAngular回路図を作成しますか?

分類Dev

シミュレーション結果が合成回路図と一致しません

分類Dev

Python回路図を使用して、必須フィールドで[なし]を許可する

分類Dev

回路図にリンクするときとインストールするときの動作が異なるのはなぜですか?

分類Dev

角度8:角度CLIでインターセプターを生成中に「コレクションに回路図「インターセプター」が見つかりません」エラーが発生しました

Related 関連記事

  1. 1

    回路図-テンプレートファイルのコピーエラーの管理

  2. 2

    角度回路図の混乱

  3. 3

    NN回路図のKerasモデル

  4. 4

    Angularの回路図とは何ですか?

  5. 5

    Dラッチ回路図とDフリップフロップ回路図の違い

  6. 6

    角度pwa回路図ライブラリの使用方法

  7. 7

    コンテンツプロバイダーで回路図面ライブラリを適用中に不明なURL

  8. 8

    ViewChildの更新に使用されるAngular8アップグレード回路図

  9. 9

    回路図作成ソフトウェアを探しています

  10. 10

    回路図作成ソフトウェアを探しています

  11. 11

    特定の回路図で複数の列名を変更する

  12. 12

    Angular回路図のbranchAndMerge関数は何をしますか?

  13. 13

    Angular回路図で現在のパスを使用する方法

  14. 14

    ビルド回路図を角度で作成する

  15. 15

    Angular / CLI 6.xのカスタム回路図はエラーなしでビルドされますが、ファイルの生成に使用できません

  16. 16

    Minecraft回路図(nbt)ファイルのデータ(つまりブロック状態)バイトをデコードする方法は?

  17. 17

    Macに角度回路図をインストールします:コマンドが見つかりません

  18. 18

    AngularMaterialsメニューの回路図が開いたままになっている

  19. 19

    AngularMaterialsメニューの回路図が開いたままになっている

  20. 20

    回路図「my-comp」はファクトリを解決できません

  21. 21

    コレクション「@angular / material」に回路図「materialDashboard」が見つかりません

  22. 22

    角度6プロジェクトで回路図変数を設定する

  23. 23

    回路図「仕様」:falseがIonic4アプリで機能しない

  24. 24

    コレクション「@schematics / angular」に回路図「ライブラリ」が見つかりません

  25. 25

    アンダースコアで始まるファイルを生成するカスタムAngular回路図を作成しますか?

  26. 26

    シミュレーション結果が合成回路図と一致しません

  27. 27

    Python回路図を使用して、必須フィールドで[なし]を許可する

  28. 28

    回路図にリンクするときとインストールするときの動作が異なるのはなぜですか?

  29. 29

    角度8:角度CLIでインターセプターを生成中に「コレクションに回路図「インターセプター」が見つかりません」エラーが発生しました

ホットタグ

アーカイブ