LoginSignup
0
2

More than 1 year has passed since last update.

angular.jsonを書き換えてassetsフォルダのようなビルドと関係ないフォルダを作りたい

Posted at

自分なりに調べたので備忘として残しておきます。

angular.jsonとは

一言でいうとAngularアプリの設定を行うファイルとのこと。
ビルドの設定やフォルダ構成、sourceMap等の有効化など色々な設定を行っている。

ビルドのオプションをいじって任意のフォルダを作成する

参考サイト

デフォルトではAngular.jsonのassetsプロパティに定義されている通り、assetsフォルダの中身がdist/appフォルダ下に展開される。

angular.json
"assets": [
  "src/assets",
  "src/favicon.ico"
]

これを詳しく書くと以下のようになる

angular.json
"assets": [
  {
    "glob": "**/*",
    "input": "src/assets/",
    "output": "/assets/"
  },
  {
    "glob": "favicon.ico",
    "input": "src/",
    "output": "/"
  }
]

ここで、ビルド時にphpフォルダを作成して、ビルド前にsrc/phpファルダに入っているファイルをすべてphpフォルダにコピーするには以下の設定を加える。
inputにビルド前どこにファイルが入っているか、outputにはビルド後ファイルがどのフォルダに格納されるかを記述する。
globにはinputフォルダ内のどのファイルをoutputフォルダ内に格納するか、対象ファイルを記述する。ファイルはUnix形式のパスで指定することができる。(globライブラリによってパスを指定可能にしているとのこと)

参考

angular.json
"assets": [
  {
    "glob": "**/*",
    "input": "src/assets",
    "output": "/assets/"
  },
  {
    "glob": "favicon.ico",
    "input": "src/",
    "output": "/"
  },
  {
    "glob": "**/*",
    "input": "src/php/",  // src/php配下のファイルを
    "output": "/php/"     //  dist/SampleApp/php/にコピー
  }
],
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2