1. ホーム
  2. angular

[解決済み] angular-cliのビルドでカスタムファイルをインクルードするには?

2022-07-31 09:43:27

質問

REです。Angular2 2.0.0、angular-cli v1.0.0-beta.11-webpack.8

ビルド時に "src/assets" のファイルを "dist" のルートに含めるように angular-cli に指示するにはどうすればよいですか?

私たちは Windows ホストにデプロイし、すべてをインデックスにルーティングするよう IIS に指示するために "web.config" ファイルを含める必要があります。RC4 以前にはこれを実行していましたが、すべての更新で、これは隙間に落ちました (どのように実行したかは覚えていません)。

私は GitHub リポジトリのドキュメント を調べましたが、このトピックに関して役に立つものは何も見つかりませんでした。もしかしたら、私は間違った場所にいるのでしょうか?

の中で ToC には、箇条書きで "ビルドに追加ファイルを追加する" がありますが、そのセクションは存在しないようです。

どのように解決するのですか。

更新情報

これに関する最新のドキュメントは、以下にあります。 https://angular.io/guide/workspace-config#assets-configuration

下からの注目すべき変更点

  • 設定ファイルは、現在 angular.json
  • パスがプロジェクトのルートからの相対パスではなく src

特定のファイルをそのまま出力フォルダにコピーするサポートを追加しました ( dist にそのままコピーするサポートを追加しました(ベータ 17 または 19 で、1.x の最終リリースにずっと含まれています)。

で配列に追加するだけです。 angular-cli.json のようにします。

{
  ...
  apps" [...
    {
       "ルート": "src",
       "assets"。[
         "assets"。
         "web.config"
       ],
       ...
    }
  ]
  ...
}

フォルダーへの相対パスであることに注意してください)

個人的に使っていますが、問題なく使えています。

ベータ24の時点では 機能を追加しました を Angular CLI に追加し、すべての src を実行するとき、すべてのファイルとフォルダが webpack 開発サーバーから提供されるようにする機能を追加した。 assets だけでなく ng test .

また、ユニットテストに使用される webpack dev server のアセットファイルの提供にも対応しています ( ng serve ).

(テストのためにいくつかのJSONファイルが必要な場合、あるいはコンソールで404警告を見るのが嫌な場合)。

これらはすでに ng test を実行しているので ng e2e .

さらに、フォルダから必要なファイルをフィルタリングしたり、出力フォルダ名をソースフォルダと異なるものにしたりと、より高度な機能も備えています。

{
  ...
  "apps" [ ]です。
    {
      "ルート": "src",
      "assets"。[
        "assets"。
        "web.config"。
        {
          // このフォルダの内容をコピーする
          "input": "../",
          // このワイルドカードにマッチする
          "glob": "*.config",
          // そして、それらを `dist` の下のこのフォルダに入れます ('.' は `dist` に直接入れるという意味です)。
          "出力": "."
        }
      ],
      ...
    }
  ]
  ...
}

公式のドキュメントを参照することもできます。 Angularガイド - ワークスペースの設定 .


.

[FOR ARCHIVING ONLY】オリジナルアンサー(2016年10月6日)です。)

これは残念ながら現在サポートされていません(ベータ16の時点)。私はチームに正確な懸念 (web.config ファイル) を提起しましたが、すぐに実現することはないようです (CLI をフォークするなどしていない限り)。

フォロー この問題 をご覧ください。

追伸

JSONファイルについては、そのファイルを ng serve . このフォルダは、そのまま ./src/assets/ . これが現在の動作です。

systemJSの時代の初期には、別の ./dist/assets/ フォルダがあり、それが ./public/ に直接コピーされていたのですが、Webpack のバージョンアップでこれがなくなり、上記で言及した問題が議論されています。