当我尝试运行这个命令时:
ng generate component <component-name>
我得到了这个错误:
Error: Cannot read property 'dasherize' of undefined
Cannot read property 'dasherize' of undefined
我的 Angular 配置:
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
我已经尝试删除 node_modules、npm 缓存清理、节点安装,但都没有用。
最佳答案
如果您只需要在您的项目中使用 @Angular/Cli
,而无需 Angular DevKit 的所有库提供的扩展功能(描述 here)。
在您的 package.json
中,您可以简单地在 devDependencies 中设置
"@angular-devkit/core":"0.4.6"
忽略其他库,例如 schematics
和 package-update
,您可以将其完全删除。
这样,你就可以使用快捷方式别名来创建新的组件,而不会出现像这样的问题
ng g c my-new-component
使用 "@angular/cli": "1.7.3"
测试
关于javascript - 无法读取未定义的属性 'dasherize',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48931233/