0

如何使用 IVY 创建 Angular 9 项目?

我尝试了以下方法:

ng new sample9prjivy --enable-ivy

我的环境:

角 CLI:9.0.2

节点:12.16.0

操作系统:win32 x64

角度:...常春藤工作区:

包装和版本

@angular-devkit/架构师 0.900.2

@angular-devkit/核心 9.0.2

@angular-devkit/原理图 9.0.2

@原理图/角度 9.0.2

@原理图/更新 0.900.2

rxjs 6.5.3

C:\src\Angular\pilot\A9>ng new sample9prjivy --enable-ivy

未知选项:'--enable-ivy'

我错过了什么?

4

1 回答 1

2
  1. 正如较早的海报试图解释的那样,没有像--enable-ivy.

  2. 正如 andrewjames 上面解释的那样,“ivy”标签是不正确的。你想要“角常春藤”。我为你修好了。

  3. 如果您想为较旧的 Angular 构建启用 Ivy,请阅读此主题: 如何为 Angular 8 或 9 启用 Ivy?. 您需要编辑tsconfig.jsonangular.json.

  4. 看起来 Ivy 现在是 Angular 9 的默认设置:

https://angular.io/guide/ivy

Ivy 是 Angular下一代编译和渲染管道的代号。在 Angular 9 版本中,默认使用新的编译器和运行时指令,而不是旧的编译器和运行时指令,即 View Engine。

  1. 正如文档所讨论的,有一个标志enableIvy... 但它设置在tsconfig.app.json. 它不是“ng new”的命令行选项。

更新:

OP 原始问题的答案:您不必“使用 Ivy 创建 Angular 9 项目”:在 Angular 9 中,应该默认启用 Ivy。

要回答有关 NG6002 的后续问题:请看这里(已在下面引用):

最后一个建议:这样做不会有什么坏处:

  1. 更新角度:ng update @angular/cli @angular/core
  2. 创建一个全新的项目并将旧源复制到新项目中

另一个更新

  1. 原来的问题:ng new sample9prjivy --enable-ivy=>

未知选项:'--enable-ivy'

原因:--enable-ivyAngular 9 根本不是合法的“ng”选项。不要这样做!

  1. 下一个问题:I always got more error NG6002

    这是将现有项目升级到 Angular 9 的众所周知的问题。看这里这里。基本问题是“升级”项目可能会导致“不一致”。两个链接都建议了解决方法;我还提出了一些解决方法。我不知道你是否尝试过其中任何一个:(

  2. 当前建议:

    由于您似乎没有取得太大进展,因此我建议您执行以下操作:

    a)卸载Angular:获取“干净版本”:

    npm uninstall -g @angular/cli
    npm cache clean
    npm cache verify
    npm install -g @angular/cli
    

    b) 确认您对 Angular 9 的“全新安装”:

    ng --version
    ...
    Angular CLI: 9.0.3
    Node: 10.15.1
    OS: win32 x64
    
    Angular:
    ...
    Ivy Workspace:
    
    Package                      Version
    ------------------------------------------------------
    @angular-devkit/architect    0.900.3
    @angular-devkit/core         9.0.3
    @angular-devkit/schematics   9.0.3
    @schematics/angular          9.0.3
    @schematics/update           0.900.3
    rxjs                         6.5.3
    

    c) 使用“已知良好”的 Angular 安装创建一个全新的项目。

    不要更改任何配置!不要试图明确地“启用 Ivy”!

    d) 将旧源代码(项目源代码!)复制到新项目。

    e) 验证“一切正常”。

    f) 发回您发现的内容。

于 2020-02-20T01:58:25.947 回答