Usando angular-cli con el ng servecomando, ¿cómo puedo especificar un puerto predeterminado para que no tenga que pasar la --portbandera manualmente cada vez?
Me gustaría cambiar el puerto predeterminado 4200.
fuente
Usando angular-cli con el ng servecomando, ¿cómo puedo especificar un puerto predeterminado para que no tenga que pasar la --portbandera manualmente cada vez?
Me gustaría cambiar el puerto predeterminado 4200.
Actualización para @ angular / cli @ 9.x: y más
En angular.jsonpuede especificar un puerto por "proyecto"
"projects": {
"my-cool-project": {
... rest of project config omitted
"architect": {
"serve": {
"options": {
"port": 1337
}
}
}
}
}
Todas las opciones disponibles:
https://angular.io/guide/workspace-config#project-tool-configuration-options
Alternativamente, puede especificar el puerto cada vez que ejecute ng serve así:
ng serve --port 1337
Con este enfoque, puede poner esto en un script en su package.json para que sea más fácil ejecutarlo cada vez / compartir la configuración con otros miembros de su equipo:
"scripts": {
"start": "ng serve --port 1337"
}
Legado:
Actualización para @ angular / cli final:
Dentro angular-cli.jsonpuede especificar el puerto en los valores predeterminados:
"defaults": {
"serve": {
"port": 1337
}
}
Legacy-er:
Probado en [email protected]
El servidor angular-cliviene del ember-cliproyecto. Para configurar el servidor, cree un .ember-cliarchivo en la raíz del proyecto. Agregue su configuración JSON allí:
{
"port": 1337
}
Reinicie el servidor y servirá en ese puerto.
Hay más opciones especificadas aquí: http://ember-cli.com/#runtime-configuration
{
"skipGit" : true,
"port" : 999,
"host" : "0.1.0.1",
"liveReload" : true,
"environment" : "mock-development",
"checkForUpdates" : false
}
En Angular 2 [email protected],
Para ejecutar un nuevo proyecto en un puerto diferente, una forma es especificar el puerto mientras ejecuta el comando ng serve.
o de la otra manera, puede editar su parte de scripts de archivo package.json y adjuntar el puerto a su variable de inicio como mencioné a continuación y luego simplemente ejecutar "npm start"
de esta manera es mucho mejor donde no necesita definir el puerto explícitamente cada vez.
fuente
Use scripts npm en su lugar ... Edite su package.json y agregue el comando a la sección de scripts.
Entonces solo ejecuta
npm startfuente
Ahora puede especificar el puerto en .angular-cli.json bajo los valores predeterminados:
Probado en angular-cli v1.0.6
fuente
Para @ angular / cli v6.2.1
El archivo de configuración del proyecto
angular.jsonpuede manejar múltiples proyectos (espacios de trabajo) que se pueden servir individualmente.ng config projects.my-test-project.targets.serve.options.port 4201Donde la
my-test-projectparte es el nombre del proyecto que configuró con elng newcomando como aquí:Legado:
Usualmente uso el
ng setcomando para cambiar la configuración de CLI angular para el nivel de proyecto.Los cambios cambian su .angular.cli.json y agrega la configuración del puerto como se mencionó anteriormente .
Después de este cambio, puede usarlo simplemente
ng servey usará el puerto preferido sin la necesidad de especificarlo cada vez.fuente
En cuanto a Angular CLI: 7.1.4 , hay dos formas comunes de lograr cambiar el puerto predeterminado .
No 1
En el
angular.json, agregue la--portopción deserveparte y useng servepara iniciar el servidor.No 2
En el
package.json, agregue la--portopción ayng serveusenpm startpara iniciar el servidor.fuente
La respuesta proporcionada por elwyn es correcta. Pero también debe actualizar la configuración del transportador para e2e.
En angular.json,
En e2e / protractor.conf.js
fuente
Puede haber una situación en la que desee utilizar la variable de entorno NodeJS para especificar el puerto del servidor de desarrollo de CLI angular. Una de las posibles soluciones es mover el servidor de desarrollo CLI que se ejecuta en un script NodeJS separado, que leerá el valor del puerto (por ejemplo, del archivo .env) y lo usará ejecutándose
ng servecon elportparámetro:Luego puede a) ejecutar este script directamente a través de
node run-env, b) ejecutarlo a través de npm actualizando package.json, por ejemplorun-env.jsdebería comprometerse con el repositorio,.envno debería. Se pueden encontrar más detalles sobre el enfoque en esta publicación: Cómo cambiar el puerto del servidor de desarrollo de CLI angular a través de .env .fuente