Преобразование существующего проекта Angular 2 для использования углового CLI

У меня есть проект, который не был создан с помощьюng new (скорее я следовалбыстрый старт руководство). Когда я запускаю угловую команду CLI в этом проекте (например,ng generate) Я получаю это сообщение об ошибке:

Вы должны быть внутри проекта angular-cli, чтобы использовать команду generate.

Есть ли способ, которым я могу превратить свой существующий проект в проект angular-cli? (Я хотел попробовать использовать его, потому что он, очевидно, автоматически работает вокругпроблема с импортом барреля и SystemJS.)

Ответы на вопрос(4)

ng init был удален, То, что работало для меня, было вручную создать.angular-cli.json файл в корневой папке со следующими ключами:

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

Вы должны будете изменить значения в соответствии с вашими настройками.

Решение Вопроса

ng init и следуйте инструкциям. Посмотрите на эту проблему, если вам нужны рекомендации:, Https: //github.com/angular/angular-cli/issues/755

Изменить (13 марта 2017 г.):

ng-init был удален из последней версии углового кли.https://github.com/angular/angular-cli/pull/4628

Так что сейчас вам нужно прибегнуть к имитации того, что он пытался достичь. то есть:

Создайте новый угловой проект с новым myTemplate

Скопируйте соответствующие файлы в существующий проект из нового проекта myTemplate:

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

В зависимости от состояния вашего существующего приложения вы можете копировать больше или меньше. Я думаю, именно поэтому функция была удалена из CLI. На самом деле нет никакого способа, чтобы точно знать, что вы хотите.

 Lucas Tétreault21 нояб. 2017 г., 17:04
@ Диего Нет, я имею в виду скопировать соответствующие файлы из проекта myTemplate. Все дело здесь в том, чтобы попытаться превратить ваш существующий проект в проект, работающий на Angular Cli.
 Vishal Sakaria12 мар. 2017 г., 13:48
Естьng-init? Точно сказать не могу.
 Diego20 нояб. 2017 г., 16:22
Copy relevant files to your existing project from your new myTemplate project: Ты имеешь ввидуCopy relevant files FROM your existing project TO your new myTemplate project: ?
 uladzimir24 февр. 2017 г., 20:28
это больше не работает
 Kyle Vassella13 июл. 2018 г., 20:41
Что если вам нужен файл angular-cli.json для старого проекта? Если бы я использовал метод генерации нового углового проекта, он бы вместо этого создал файл angular.json.
 Lucas Tétreault14 мар. 2017 г., 06:10
@VishalSakaria Больше нет:github.com/angular/angular-cli/pull/4628

ng init был удален из последней версии углового CLI, но вы можете использоватьменеджер пакетов пряжи разрешить все зависимости. Для того, чтобы использоватьпряжа, вы должны установить его в первую очередь.

Чтобы установить пряжу в Ubuntu, введите следующую команду в своем терминале:

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

Для Windows вы можете скачать установщик пряжи сВот .

После установки пряжи вы можете запустить командупряжа установить в директории вашего проекта, которая загрузит все зависимости вашего проекта.

Для дополнительной информации о пряжепроверьте официальные документы

Запустите эту команду в корневой папкеnpm install -g angular-cliСоздать новую папку для вашего проектаng new project_folder_nameВведите внутри этой папкиcd project_folder_nameЗапустите проект этой командойng serve (Примечание: теперь на localhost: 4200 будет запущен демонстрационный проект)Скопируйтеsrc папку вашего существующего проекта и заменить наsrc вашего недавно созданного проекта изтолько корневая папка проекта.

Скопируйте все из package.json из существующего проекта. Запустите npm install снова. Если он сломается, возможно, ему нужно повозиться с webpack.config

 Eric Bishard16 авг. 2017 г., 19:13
Я не думаю, что это действительно ответ, поскольку слепое копирование всего этого нового CLI-проекта поверх существующего SRC выглядит как решение спрея и молитвы.

Ваш ответ на вопрос