28 votes

Conversion d'un projet angular 2 existant pour utiliser angular CLI

J'ai un projet qui n'a pas été créé en utilisant ng new (j'ai plutôt suivi le démarrage rapide guide). Lorsque je lance une commande angular CLI dans ce projet (telle que ng generate ) Je reçois ce message d'erreur :

Vous devez être dans un projet angular-cli pour pouvoir utiliser la commande generate.

Existe-t-il un moyen de transformer mon projet existant en un projet angular-cli ? (Je voulais essayer de l'utiliser parce qu'apparemment il fonctionne automatiquement autour de un problème avec les importations de barils et SystemJS .)

19voto

Lucas Tétreault Points 883

Vous devriez être en mesure d'exécuter ng init et suivez les instructions. Jetez un coup d'œil à ce numéro si vous avez besoin de conseils : https://github.com/angular/angular-cli/issues/755

Edit (13 mars 2017) :

ng-init a été supprimé de la dernière version de la clique angulaire. https://github.com/angular/angular-cli/pull/4628

Donc pour l'instant, vous devrez imiter ce qu'il a essayé d'accomplir. C'est-à-dire :

  1. Créer un nouveau projet angulaire ng new myTemplate

  2. Copiez les fichiers pertinents dans votre projet existant à partir de votre nouveau projet myTemplate :

    .angular-cli.json package.json tslint.json src/polyfills.ts src/styles.css src/tsconfig.json

En fonction de l'état de votre application existante, vous pouvez vouloir copier beaucoup plus ou beaucoup moins. Je suppose que c'est la raison pour laquelle cette fonctionnalité a été supprimée de l'interface CLI. Il n'y a pas vraiment de moyen pour elle de savoir exactement ce que vous voulez qu'elle fasse.

0 votes

Y a-t-il un ng-init ? Je ne sais pas.

0 votes

Copy relevant files to your existing project from your new myTemplate project: Voulez-vous dire Copy relevant files FROM your existing project TO your new myTemplate project: ?

2 votes

@Diego Non, je veux dire copier les fichiers pertinents du projet myTemplate. Le but ici est d'essayer de transformer votre projet existant en un projet propulsé par angular cli.

2voto

Dilip Raj Baral Points 529

ng init a été supprimé . Ce qui a fonctionné pour moi, c'est de créer manuellement un .angular-cli.json dans le dossier Root avec les clés suivantes :

 {
    "$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"
      }
    ]
  }

Vous devrez modifier les valeurs en fonction de votre configuration, bien entendu.

-1voto

Naresh Points 14

Ng init a été supprimé de la dernière version du CLI d'angular mais vous pouvez utiliser gestionnaire de paquets yarn pour résoudre toutes les dépendances. Afin d'utiliser fils vous devez d'abord l'installer.

Pour installer yarn dans Ubuntu, entrez la commande suivante dans votre terminal :

sudo apt-get update && sudo apt-get install yarn

Pour Windows, vous pouvez télécharger le programme d'installation de fil à partir de aquí .

Après avoir installé yarn, vous pouvez exécuter la commande installation de yarn dans la direction de votre projet qui téléchargera toutes les dépendances de votre projet.

Pour plus d'informations sur le fil vérifier les documents officiels

-3voto

Nikita Points 1

Essayez la solution ci-dessous, elle peut peut-être vous aider.

  1. Exécutez cette commande sur le dossier racine npm install -g angular-cli
  2. Créez un nouveau dossier pour votre projet ng new project_folder_name
  3. Entrez dans ce dossier cd project_folder_name
  4. Exécutez le projet par cette commande ng serve (Note : Maintenant, sur localhost:4200, le projet de démonstration sera exécuté)
  5. Copiez le src de votre projet existant et remplacez-le par le fichier src de votre projet nouvellement créé à partir de le dossier racine du projet uniquement .

Copiez tout ce qui se trouve dans le package.json du projet existant. Exécutez à nouveau npm install. Si cela ne fonctionne pas, il faut probablement modifier la configuration de webpack.

0 votes

Je ne pense pas que ce soit vraiment une réponse, car copier aveuglément tout ce qui se trouve dans ce nouveau projet CLI sur votre SRC existant semble être une solution de type "spray and pray".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X