как изменить путь к папке dist в angular-cli после 'ng build'
Я хотел бы использовать angular-cli с asp.net ядро и мне нужно знать, как я могу изменить путь distпапку
9 ответов:
более текущий способ это обновить
outDir
в собственность.angular-cli.json
.The
ng build
аргумент команды--output-path
(или-op
для краткости) также поддерживается, что может быть полезно, если вы хотите несколько значений, вы можете сохранить их в своемpackage.json
как сценарии npm.внимание: The
.angular-cli.json
свойство не называетсяoutput-path
как в настоящее время-принятый ответ @cwill747 говорит. Вот это
вы также можете использовать CLI, например:
ng build -prod --output-path=production # or ng serve --output-path=devroot
внимание: правильный ответ ниже. Это больше не работает
создайте файл с именем
.ember-cli
в вашем проекте, и включить в него следующее содержание:{ "output-path": "./location/to/your/dist/" }
единственное, что сработало для меня, это изменить
outDir
В иangular-cli.json
иsrc/tsconfig.json
.Я хотел, чтобы моя dist-папка находилась за пределами угловой папки проекта. Если бы я не изменил настройки в
src/tsconfig.json
кроме того, угловой CLI будет выдавать предупреждения всякий раз, когда я строю проект.вот самые важные строки ...
// angular-cli.json { ... "apps": [ { "outDir": "../dist", ... } ], ... }
и ...
// tsconfig.json { "compilerOptions": { "outDir": "../../dist/out-tsc", ... } }
для угловых 6 вещей немного изменились.
определите, где ng build генерирует файлы приложений
настройки командной строки это делается сейчас в угловое.json (заменить .угловой-кли.json) в корневом каталоге рабочей области. Выходной путь по умолчанию угловой.json должен выглядеть так (ненужные строки удалены):
{ "projects": { "my-app-name": { "architect": { "options": { "outputPath": "dist/my-app-name",
очевидно, что это создаст ваше приложение в WORKSPACE/dist / my-app-name. Измените путь вывода, Если вы предпочитаете другой справочник.
вы можете перезаписать выходной путь с помощью аргументов командной строки (например, для заданий CI):
ng build -op dist/example ng build --output-path=dist/example
S. a.https://github.com/angular/angular-cli/wiki/build
хостинг угловой приложение в подкаталоге
установка выходного пути, подскажет angular, где разместить "скомпилированные" файлы, но как бы вы ни изменили выходной путь, при запуске приложения angular все равно будет предполагать, что приложение размещено в документе веб-сервера корень.
чтобы заставить его работать в подкаталог, вы будете иметь, чтобы установить основание избыточного веса.
в угловой.json:
{ "projects": { "my-app-name": { "architect": { "options": { "baseHref": "/my-folder/",
Cli:
ng build --base-href=/my-folder/
если вы не знаете, где будет размещено приложение во время сборки, вы можете изменить базовый тег в сгенерированном индексе.формат 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
при построении вы можете изменить базовый тег
(<base href="/">)
в свой индекс.HTML с помощьюng build --base-href /myPATH/
или
ng build --prod --base-href /myPATH/
угловой CLI теперь использует файлы среды для этого.
во-первых, добавьте до
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
он будет выводить на .