转换现有的角度2项目以使用角度CLI

时间:2016-08-08 18:50:59

标签: angular angular-cli

我有一个未使用ng new创建的项目(相反,我遵循了quickstart指南)。当我在该项目中运行角度CLI命令(例如ng generate)时,我收到以下错误消息:

  

您必须在angular-cli项目中才能使用generate命令。

有没有办法可以将我现有的项目变成一个angular-cli项目? (我想尝试使用它,因为它显然可以自动解决an issue with barrel imports and SystemJS。)

4 个答案:

答案 0 :(得分:19)

您应该可以运行ng init并按照提示操作。如果您需要一些指导,请查看此问题:https://github.com/angular/angular-cli/issues/755

编辑(2017年3月13日):

ng-init已从最新版本的角度cli中移除。 https://github.com/angular/angular-cli/pull/4628

所以现在你需要诉诸于它试图完成的事情。 即:

  1. 创建一个新的角度项目 新的myTemplate

  2. 从新的myTemplate项目中将相关文件复制到现有项目中:

    .angular-cli.json 的package.json tslint.json SRC / polyfills.ts SRC / Styles.css中 SRC / tsconfig.json

  3. 根据您现有应用程序的状态,您可能希望更多或更少地复制。我想这就是从CLI中删除该功能的原因。它没有任何方法可以确切地知道你想要它做什么。

答案 1 :(得分:2)

ng init has been removed。对我有用的是使用以下键在根文件夹中手动创建.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"
      }
    ]
  }

您必须根据您的设置更改值。

答案 2 :(得分:-1)

ng init已从最新版本的angular CLI中删除,但是您可以使用 yarn软件包管理器来解决所有依赖关系。 为了使用纱线,您必须先安装它。

要在Ubuntu中安装yarn,请在终端中输入以下命令:

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

对于Windows,您可以从以下位置下载纱线安装程序 here

安装yarn之后,可以在项目目录中运行命令 yarn install ,该命令将下载项目的所有依赖项。

有关纱线check official docs

的其他信息

答案 3 :(得分:-3)

尝试以下解决方案可能会有所帮助。

  1. 在根文件夹npm install -g angular-cli
  2. 上运行此命令
  3. 为项目ng new project_folder_name
  4. 创建新文件夹
  5. 在该文件夹cd project_folder_name
  6. 内输入
  7. 通过此命令ng serve运行项目(注意:现在在localhost:4200上,将运行演示项目)
  8. 复制现有项目的src文件夹,并从项目的根文件夹替换为新创建的项目的src
  9. 从现有项目中复制package.json中的所有内容。再次运行npm install。如果它中断,可能需要修改webpack.config