Ответы:
Вы можете обновить выходную папку в .angular-cli.json:
"outDir": "./location/toYour/dist"
Более современный способ - обновить outDir
свойство в .angular-cli.json
.
ng build
Аргумент команды --output-path
(или -op
для краткости) по - прежнему поддерживается также, что может быть полезно , если вы хотите использовать несколько значений, вы можете сохранить их в package.json
качестве сценариев НПХ.
Осторожно:
.angular-cli.json
свойство не вызывается ,output-path
как в настоящее время общепринятый ответ на @ cwill747 говорит. Этоng build
только аргумент.Он называется,
outDir
как упоминалось выше, и находится вapps
собственности.
.
(Декабрь 2017 г.)
Через год после добавления этого ответа кто-то добавил новый ответ с практически такой же информацией, а исходный постер изменил принятый ответ на ответ с опозданием на 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, где разместить «скомпилированные» файлы, но, как бы вы ни изменили путь вывода, при запуске приложения angular по-прежнему будет предполагать, что приложение размещено в корне документа веб-сервера.
Чтобы он работал в подкаталоге, вам нужно установить базовый href.
В angular.json:
{
"projects": {
"my-app-name": {
"architect": {
"options": {
"baseHref": "/my-folder/",
Cli:
ng build --base-href=/my-folder/
Если вы не знаете, где будет размещаться приложение во время сборки, вы можете изменить базовый тег в сгенерированном index.html.
Вот пример того, как мы это делаем в нашем контейнере докеров:
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
AND 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
настройка выше остается прежней). Hth
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
для страниц github я использую
ng build --prod --base-href "https://<username>.github.io/<RepoName>/" --output-path=docs
Вот что копирует вывод в папку docs: --output-path=docs
Другой вариант - установить путь webroot к папке angular cli dist. В вашем Program.cs при настройке WebHostBuilder просто скажите
.UseWebRoot(Directory.GetCurrentDirectory() + "\\Frontend\\dist")
или каков бы ни был путь к вашему удаленному каталогу.