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.)

Author: Coquelicot, 2016-08-08

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:

  1. Crear un nuevo angular proyecto ng myTemplate nuevo

  2. 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.

 18
Author: Lucas Tétreault,
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.

 1
Author: Dilip Raj Baral,
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

 -1
Author: Naresh,
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.

  1. Ejecute este comando en la carpeta raíz npm install -g angular-cli
  2. Crea una nueva carpeta para tu proyecto ng new project_folder_name
  3. Ingrese dentro de esa carpeta cd project_folder_name
  4. Ejecute el proyecto con este comando ng serve (Nota: Ahora en localhost:4200, se ejecutará el proyecto de demostración)
  5. Copie la carpeta src de su proyecto existente y reemplácela por la srcde 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

 -3
Author: user3432762,
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