Respuestas:
Puede actualizar la carpeta de salida en .angular-cli.json:
"outDir": "./location/toYour/dist"
La forma más actual de esto es actualizar la outDir
propiedad en .angular-cli.json
.
El ng build
argumento del comando --output-path
(o -op
para abreviar) también es compatible, lo que puede ser útil si desea múltiples valores, puede guardarlos en sus package.json
scripts como npm.
Cuidado: la
.angular-cli.json
propiedad NO se llamaoutput-path
como dice la respuesta actualmente aceptada por @ cwill747 . Ese esng build
solo el argumento.Se llama
outDir
como se mencionó anteriormente, y está debajo de laapps
propiedad.
.
(Diciembre de 2017)
1 año después de agregar esta respuesta , alguien agregó una nueva respuesta con esencialmente la misma información, y el Póster original cambió la respuesta aceptada a la respuesta de 1 año de retraso que contiene la misma información en la primera línea de esta.
Para Angular 6+, las cosas han cambiado un poco.
La configuración de Cli ahora se realiza en angular.json (reemplazado .angular-cli.json) en el directorio raíz de su espacio de trabajo. La ruta de salida en angular.json predeterminado debería verse así (líneas irrelevantes eliminadas):
{
"projects": {
"my-app-name": {
"architect": {
"options": {
"outputPath": "dist/my-app-name",
Obviamente, esto generará su aplicación en WORKSPACE / dist / my-app-name. Modifique outputPath si prefiere otro directorio.
Puede sobrescribir la ruta de salida utilizando argumentos de línea de comando (por ejemplo, para trabajos de CI):
ng build -op dist/example
ng build --output-path=dist/example
Sa https://github.com/angular/angular-cli/wiki/build
La configuración de la ruta de salida le dirá a angular dónde colocar los archivos "compilados", pero sin importar cómo cambie la ruta de salida, cuando ejecute la aplicación, angular aún asumirá que la aplicación está alojada en la raíz del documento del servidor web.
Para que funcione en un subdirectorio, deberá configurar el href base.
En angular.json:
{
"projects": {
"my-app-name": {
"architect": {
"options": {
"baseHref": "/my-folder/",
Cli:
ng build --base-href=/my-folder/
Si no sabe dónde se alojará la aplicación en el momento de la compilación, puede cambiar la etiqueta base en index.html generado.
Aquí hay un ejemplo de cómo lo hacemos en nuestro contenedor de ventana acoplable:
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
También puede usar la CLI, como:
ng build -prod --output-path=production
# or
ng serve --output-path=devroot
Lo único que funcionó para mí fue cambiar outDir
tanto en angular-cli.json
AND src/tsconfig.json
.
Quería mi carpeta dist fuera de la carpeta del proyecto angular. Si no cambiaba la configuración src/tsconfig.json
también, Angular CLI arrojaría advertencias cada vez que construyo el proyecto.
Aquí están las líneas más importantes ...
// angular-cli.json
{
...
"apps": [
{
"outDir": "../dist",
...
}
],
...
}
Y ...
// tsconfig.json
{
"compilerOptions": {
"outDir": "../../dist/out-tsc",
...
}
}
cli 7x
, lo anterior se realiza en angular.json
y el campo es outputPath
(el tsconfig
ajuste anterior sigue siendo el mismo). HTH
Angular CLI ahora usa archivos de entorno para hacer esto.
Primero, agregue una environments
sección alangular-cli.json
Algo como :
{
"apps": [{
"environments": {
"prod": "environments/environment.prod.ts"
}
}]
}
Y luego, dentro del archivo de entorno ( environments/environment.prod.ts
en este caso), agregue algo como:
export const environment = {
production: true,
"output-path": "./whatever/dist/"
};
ahora cuando corres:
ng build --prod
saldrá a la ./whatever/dist/
carpeta.
angular-cli: 1.0.0-beta.21
para las páginas de github que uso
ng build --prod --base-href "https://<username>.github.io/<RepoName>/" --output-path=docs
Esto es lo que copia la salida en la carpeta de documentos: --output-path=docs
Otra opción sería establecer la ruta webroot a la carpeta angular cli dist. En su Program.cs al configurar WebHostBuilder solo diga
.UseWebRoot(Directory.GetCurrentDirectory() + "\\Frontend\\dist")
o cualquiera que sea la ruta a su directorio dist.