回答:
.angular-cli.jsonの出力フォルダーを更新できます。
"outDir": "./location/toYour/dist"
これのより現在の方法は、でoutDir
プロパティを更新することです.angular-cli.json
。
ng build
コマンドの引数--output-path
(または-op
略して)まだあなたが複数の値をしたい場合、あなたはあなたに保存することができ便利です、また、サポートされているpackage.json
として、NPMスクリプト。
用心:
.angular-cli.json
プロパティが呼び出されないoutput-path
ように@ cwill747により、現在受け入れ答えと言います。それはng build
唯一の議論です。
outDir
上記のように呼ばれ、apps
プロパティの下にあります。
。
(2017年12月)
この回答を追加してから1年後、誰かが本質的に同じ情報を使用して新しい回答を追加し、元の投稿者が承認済みの回答を、この回答の1行目に同じ情報を含む1年後期の回答に変更しました。
Angular 6以降では、状況が少し変わりました。
Cliのセットアップは、ワークスペースのルートディレクトリのangular.json(.angular-cli.jsonに置き換えられました)で行われます。デフォルトのangular.jsonの出力パスは次のようになります(無関係な行は削除されます)。
{
"projects": {
"my-app-name": {
"architect": {
"options": {
"outputPath": "dist/my-app-name",
明らかに、これによりWORKSPACE / dist / my-app-nameにアプリが生成されます。別のディレクトリが必要な場合は、outputPathを変更します。
コマンドライン引数を使用して、出力パスを上書きできます(CIジョブなど)。
ng build -op dist/example
ng build --output-path=dist/example
Sa https://github.com/angular/angular-cli/wiki/build
出力パスを設定すると、「コンパイル済み」ファイルをどこに配置するかがAngularに通知されますが、出力パスを変更しても、AngleはアプリがWebサーバーのドキュメントルートでホストされていると想定します。
サブディレクトリで機能させるには、ベースhrefを設定する必要があります。
angular.jsonでは:
{
"projects": {
"my-app-name": {
"architect": {
"options": {
"baseHref": "/my-folder/",
Cli:
ng build --base-href=/my-folder/
ビルド時にアプリがホストされる場所がわからない場合は、生成されたindex.htmlのベースタグを変更できます。
dockerコンテナーでこれを行う方法の例を次に示します。
entrypoint.sh
if [ -n "${BASE_PATH}" ]
then
files=( $(find . -name "index.html") )
cp -n "${files[0]}" "${files[0]}.org"
cp "${files[0]}.org" "${files[0]}"
sed -i "s*<base href=\"/\">*<base href=\"${BASE_PATH}\">*g" "${files[0]}"
fi
次のように、CLIも使用できます。
ng build -prod --output-path=production
# or
ng serve --output-path=devroot
私のために働いた唯一の事は変更したoutDir
の両方ででangular-cli.json
とsrc/tsconfig.json
。
私はdistフォルダをangularプロジェクトフォルダの外に置きたかったです。src/tsconfig.json
同様に設定を変更しなかった場合、プロジェクトをビルドするたびにAngular CLIが警告をスローします。
ここに最も重要な行があります...
// angular-cli.json
{
...
"apps": [
{
"outDir": "../dist",
...
}
],
...
}
そして...
// tsconfig.json
{
"compilerOptions": {
"outDir": "../../dist/out-tsc",
...
}
}
cli 7x
、上記はで行われangular.json
、フィールドはoutputPath
(tsconfig
上記の調整は同じままです)。第H
Angular CLIはこれを行うために環境ファイルを使用するようになりました。
まず、environments
セクションをangular-cli.json
何かのようなもの :
{
"apps": [{
"environments": {
"prod": "environments/environment.prod.ts"
}
}]
}
次に、環境ファイル(environments/environment.prod.ts
この場合)内に次のようなものを追加します。
export const environment = {
production: true,
"output-path": "./whatever/dist/"
};
今あなたが走るとき:
ng build --prod
./whatever/dist/
フォルダに出力されます。
angular-cli: 1.0.0-beta.21
別のオプションは、webrootパスをangular cli distフォルダーに設定することです。Program.csでWebHostBuilderを構成するときに、
.UseWebRoot(Directory.GetCurrentDirectory() + "\\Frontend\\dist")
または、dist dirへのパスは何でもかまいません。