Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

  • Создайте новый проект angular ng new myTemplate

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

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

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

Ответ 2

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

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

Вам, конечно, придется изменять значения в соответствии с вашими настройками.

Ответ 3

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

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

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

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

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

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

Ответ 4

Попробуйте решение ниже, возможно, оно может помочь.

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

Скопировать все из package.json из существующего проекта. Запустите npm install again.If он сломается, ему, вероятно, понадобится winker с webpack.config