无法读取未定义的属性'dasherize'

use*_*604 3 javascript npm angular-cli angular angular5

当我试图运行此命令时:

ng generate component <component-name>
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

Error: Cannot read property 'dasherize' of undefined
Cannot read property 'dasherize' of undefined
Run Code Online (Sandbox Code Playgroud)

我的角度配置:

Angular CLI: 1.7.1
Node: 7.5.0
OS: darwin x64
Angular: 5.2.6
... animations, common, compiler, compiler-cli, core, forms
... http, platform-browser, platform-browser-dynamic
... platform-server, router

@angular/cdk: 5.2.2
@angular/cli: 1.7.1
@angular/material: 5.2.2
@angular-devkit/build-optimizer: 0.4.2
@angular-devkit/core: 0.0.20
@angular-devkit/schematics: 0.0.34
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.10.1
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.6.2
webpack: 3.11.0
Run Code Online (Sandbox Code Playgroud)

我试图删除node_modules,npm cache clean,节点安装,但没有一个工作.

Mat*_*Pag 8

如果您只需要@Angular/Cli在没有Angular DevKit所有库提供的扩展功能的情况下使用项目(在此处描述).

在您的内容中,package.json您可以简单地在devDependencies中设置, "@angular-devkit/core":"0.4.6"忽略其他库schematics,package-update以及您可以完全删除的库.

通过这种方式,您可以使用没有问题的快捷方式别名来创建新组件

ng gc my-new-component

经过测试 "@angular/cli": "1.7.3"