现有 GitHub 项目的 Angular CLI

22

我是 Angular 2 CLI 的新手。根据教程,提供了一个名为 ng create <project_name> 的命令。但我的情况是在现有目录中创建项目。

它会显示以下错误:

目录 'angular-basic' 已经存在。

8个回答

31
自从CLI命令删除了ng init后,您可以指定目录。对于某些现有文件,您可能需要自行进行一些覆盖和修改。
您可以使用以下命令实现: ng new [app_name] --directory=directory_path 例如,假设您的终端已打开在angular-basic目录中,并且您需要将CLI添加到angular-basic项目中,则ng new angular-basic --directory .会在当前目录angular-basic中创建工作区。
更新:它被删除的原因是因为有两种创建项目的方式并且人们使用它来升级(质量不佳)- 来自CLI团队的@Brocco的推文。

13
实际上,你可以更轻松地执行此操作:ng new [app_name] --directory . - Sergiu
1
被低估的评论 - 正是我在找的,谢谢 @Sergiu - Joe Keene

19

这很容易。

从现有目录运行以下命令,它将作为您的应用程序根目录。

$ ng new 当前目录 --directory=./ --skip-install

这里使用了三个参数:

  1. 当前目录是您的项目名称或打开终端的当前位置。

  2. --directory=./是关键所在,它指示angular-cli将现有文件夹用作项目根目录。

  3. --skip-install是可选的,只是防止提前安装所有npm依赖项。

如果您看到像“Schematic workflow failed. See above.”的错误,请清空您的目录内容,特别是README.md、.gitignore等,让angular-cli为您创建它们。


8

尝试运行这个命令:

ng new appName --directory ./

虽然这段代码可能解决了OP的问题,但最好还是解释一下你的代码如何解决OP的问题。这样,未来的访问者可以从您的帖子中学习,并将其应用到自己的代码中。SO不是编码服务,而是知识资源。此外,高质量、完整的答案更有可能被点赞。这些特点以及所有帖子都必须是自包含的要求,是SO作为一个平台的一些优势,使其与论坛区分开来。您可以编辑以添加其他信息和/或使用源文档补充您的解释。 - ysf

4

尝试使用ng init在现有目录中创建项目,然后执行ng serve

ng init <project-name> [options]
Creates a new Angular project in the current folder.

Options:
 --dry-run only output the files created and operations performed, do
 not actually create the project.

 Alias: 'd'.
 --verbose output more information.

 Alias: 'v'.
 --skip-npm do not run any npm command once the project is created.
 --name The name of the project to create.

对于新的 Angular 2.x 项目:
ng new foo
cd foo
npm link angular-cli
ng serve

Refer: https://cli.angular.io/reference.pdf


0

进入您想要创建Angular项目的目录

输入以下命令:

ng new yourappname --directory ./


您的回答可以通过添加更多支持信息进行改进。请[编辑]以添加进一步细节,例如引证或文档,以便他人确认您的答案是正确的。您可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

0
如果您的目录结构是:grandParent/parent/yourProject,请在CLI中进入parent文件夹,并执行命令ng new yourProject。它将在现有目录中创建项目,而不会创建额外的目录。(已经尝试过 CLI 版本 6.3 和 9.1)

0
这对我来说实际上是有效的 ng new [app_name] --directory .,它会创建 Angular 项目而不会创建新文件夹,而是采用父目录,并将该应用名称放在 package.json 中,格式如下: "name": "[app_name]",

-3

您可以使用yarn软件包管理器来解决现有项目的依赖关系。 如需更多信息,请查看this答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接