Conversión de un proyecto existente de angular 2 para usar angular CLI
Tengo un proyecto que no fue creado usando ng new
(más bien, seguí la guía quickstart). Cuando corro un comando angular CLI en ese proyecto (como ng generate
) recibo este mensaje de error:
Tienes que estar dentro de un proyecto angular-cli para poder usar el comando generate.
¿Hay alguna forma de convertir mi proyecto existente en un proyecto angular-cli? (Quería intentar usarlo porque aparentemente funciona automáticamente alrededor de un problema con barrel imports and SystemJS.)
4 answers
Debería poder ejecutar ng init
y seguir las indicaciones. Eche un vistazo a este problema si necesita alguna orientación: https://github.com/angular/angular-cli/issues/755
Editar (Marzo 13, 2017):
ng-init
se eliminó de la última versión de la cli angular.
https://github.com/angular/angular-cli/pull/4628
Así que por ahora tendrás que recurrir a imitar lo que intentó lograr. ie:
-
Crear un nuevo angular proyecto ng myTemplate nuevo
-
Copie los archivos relevantes a su proyecto existente desde su nuevo proyecto myTemplate:
.angular-cli.json paquete.json tslint.json src / polyfills.ts src / styles.css src / tsconfig.json
Dependiendo del estado de su aplicación existente, es posible que desee copiar más o menos. Supongo que esta es la razón por la que se eliminó la función de la CLI. No hay realmente ninguna manera de que sepa exactamente lo que quieres que haga.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-10 15:12:01
ng init
se ha eliminado. Lo que funcionó para mí fue crear manualmente un archivo .angular-cli.json
en la carpeta raíz con las siguientes claves:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
"version": "1.0.0",
"name": "new-cli"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"assets"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"prefix": "app",
"scripts": [],
"environmentSource": "environments/environment.ts"
}
]
}
Tendrá que cambiar los valores de acuerdo con su configuración, por supuesto.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-03 08:15:19
Ng init se eliminó de la última versión de la CLI angular, pero puede usar yarn package manager para resolver todas las dependencias. Para usar yarn, primero tienes que instalarlo.
Para instalar yarn en Ubuntu, ingrese el siguiente comando en su terminal:
sudo apt-get update && sudo apt-get install yarn
Para Windows puede descargar el instalador de yarn desde aquí .
Después de instalar yarn, puede ejecutar el comando yarn install en su direcotry del proyecto que descargará todas las dependencias de tu proyecto.
Para obtener información adicional sobre yarn consulte los documentos oficiales
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-25 03:45:39
Pruebe la siguiente solución puede ser que podría ayudar.
- Ejecute este comando en la carpeta raíz
npm install -g angular-cli
- Crea una nueva carpeta para tu proyecto
ng new project_folder_name
- Ingrese dentro de esa carpeta
cd project_folder_name
- Ejecute el proyecto con este comando
ng serve
(Nota: Ahora en localhost:4200, se ejecutará el proyecto de demostración) - Copie la carpeta
src
de su proyecto existente y reemplácela por lasrc
de su proyecto recién creado solo desde la carpeta raíz del proyecto .
Copiar todo, desde el paquete.json del proyecto existente. Ejecute npm install de nuevo.Si se rompe, probablemente necesita juguetear con webpack.config
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-10 15:12:26