Я хотів би використовувати angular-cli з ядром asp.net, і мені потрібно знати, як я можу змінити шлях до папки dist
Я хотів би використовувати angular-cli з ядром asp.net, і мені потрібно знати, як я можу змінити шлях до папки dist
Відповіді:
Ви можете оновити папку виводу в .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 рік після додавання цієї відповіді хтось додав нову відповідь з фактично такою самою інформацією, і Оригінальний плакат змінив прийняту відповідь на відповідь на 1 рік, яка містить ту саму інформацію в першому рядку цього.
Для кутових 6+ речі трохи змінилися.
Налаштування клієнта тепер виконується в 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
Встановивши вихідний шлях, підкаже кутовий, куди слід розмістити "компільовані" файли, але проте ви змінили вихідний шлях під час запуску програми, кутовий все одно вважатиме, що програма розміщується у корені документа веб-сервера.
Щоб він працював у підкаталозі, вам доведеться встановити базовий href.
У angular.json:
{
"projects": {
"my-app-name": {
"architect": {
"options": {
"baseHref": "/my-folder/",
Клієнт:
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 була поза папкою кутового проекту. Якщо я також не змінив налаштування 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
Для цього кутовий 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
Це те, що копіює вихід у папку "Документи": --output-path=docs
Іншим варіантом було б встановити шлях веб-коріння до папки кутового кліпу. У програмі Program.cs під час налаштування WebHostBuilder просто скажіть
.UseWebRoot(Directory.GetCurrentDirectory() + "\\Frontend\\dist")
або яким би не був шлях до вашого дистрикту.