Posterior a buscar en varios repositorios y sitios de internet al terminar hemos descubierto la solución que te compartimos pronto.
Solución:
La forma más actual de esto es actualizar el outDir
propiedad en .angular-cli.json
.
los ng build
argumento de comando --output-path
(o -op
para abreviar) también es compatible, lo que puede ser útil si desea múltiples valores, puede guardarlos en su package.json
como scripts npm.
Tener cuidado: los
.angular-cli.json
la propiedad NO se llamaoutput-path
como dice la respuesta actualmente aceptada por @ cwill747. Eso esng build
argumento solamente.Se llama
outDir
como se mencionó anteriormente, y es un bajo elapps
propiedad.
.
PD
(diciembre de 2017)
1 año después de agregar esta respuestaalguien 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.
Puede actualizar la carpeta de salida en .angular-cli.json:
"outDir": "./location/toYour/dist"
Para Angular 6+ las cosas han cambiado un poco.
Definir dónde ng build genera archivos de aplicaciones
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í (se eliminaron las líneas irrelevantes):
{
"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 usando 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
Alojar aplicación angular en subdirectorio
Establecer la ruta de salida le dirá a angular dónde colocar los archivos “compilados”, pero sin importar cómo cambie la ruta de salida, al ejecutar la aplicación, angular seguirá asumiendo que la aplicación está alojada en la raíz del documento del servidor web.
Para que funcione en un subdirectorio, deberá configurar la base href.
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 el index.html generado.
Aquí hay un ejemplo de cómo lo hacemos en nuestro contenedor docker:
punto de entrada.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* * *g" "$files[0]"
fi
Aquí tienes las comentarios y valoraciones
Eres capaz de añadir valor a nuestro contenido informacional aportando tu experiencia en las anotaciones.