subir servidor proyecto instalar crear componente comandos cli angular angular-cli

servidor - cómo cambiar la ruta de la carpeta dist en angular-cli después de ''ng build''



instalar angular 5 (9)

Me gustaría usar angular-cli con asp.net core y necesito saber cómo puedo cambiar la ruta de la carpeta dist


Cuidado: la respuesta correcta está abajo. Esto ya no funciona

Cree un archivo llamado .ember-cli en su proyecto e incluya en él estos contenidos:

{ "output-path": "./location/to/your/dist/" }


Angular CLI ahora usa archivos de entorno para hacer esto.

Primero, agregue una sección de environments al angular-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 carpeta ./whatever/dist/ .


La forma más actual de esto es actualizar la propiedad .angular-cli.json en .angular-cli.json .

El argumento del comando ng build --output-path (u -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.

Cuidado: la propiedad .angular-cli.json NO se llama output-path como dice la respuesta actualmente aceptada por @ cwill747 . Ese es solo el argumento ng build .

Se llama outDir como se mencionó anteriormente, y está debajo de la propiedad de apps .

.

PD

(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 tardía de 1 año que contiene la misma información en la primera línea de esta.


Lo único que funcionó para mí fue cambiar outDir en angular-cli.json Y src/tsconfig.json .

Quería mi dist-folder fuera de la carpeta angular del proyecto. Si no cambiara la configuración en src/tsconfig.json también, la CLI angular arrojaría advertencias cada vez que construya 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", ... } }


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 el camino a su directorio de destino.


Para Angular 6+ las cosas han cambiado un poco.

Defina 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 del espacio de trabajo. La ruta de salida en angular.json predeterminada debería tener este aspecto (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 comandos (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

Aplicación angular de alojamiento en subdirectorio

Al establecer la ruta de salida, le dirá a angular dónde colocar los archivos "compilados" pero, sin embargo, si cambia la ruta de salida, cuando ejecute 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 index.html generado.

Aquí hay un ejemplo de cómo lo hacemos en nuestro contenedor 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


Puede actualizar la carpeta de salida en .angular-cli.json:

"outDir": "./location/toYour/dist"


También puede usar la CLI, como:

ng build -prod --output-path=production # or ng serve --output-path=devroot


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 docs: --output-path=docs