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

标签 javascript angular npm angular-cli angular5

当我尝试运行这个命令时:

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" 忽略其他库,例如 schematicspackage-update,您可以将其完全删除。

这样,你就可以使用快捷方式别名来创建新的组件,而不会出现像这样的问题

ng g c my-new-component

使用 "@angular/cli": "1.7.3" 测试

关于javascript - 无法读取未定义的属性 'dasherize',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48931233/

相关文章:

javascript - 在父级上设置 'relative',在内部设置 'absolute' 不在底部对齐 Bootstrap 列上工作

javascript - 如果用户禁用了 JavaScript (JS),如何禁用网站

javascript - 如何在 Angular 2 应用程序中使用 Phoenix Channels/Sockets?

javascript - Bootstrap 图像轮播在 Angular 上不起作用

javascript - 用于创建 index.html 的 html-webpack-plugin 的 Webpack 配置错误

javascript - 结合 jQuery Validate 和 ajax 表单提交

javascript - $.getScript,可以给包含的脚本一个id吗?

javascript - 将单击和双击视为相同

node.js - https ://npmcdn. com/ng2-img-cropper/index.js 网站上没有 'Access-Control-Allow-Origin' header

npm - 我如何使用全局 scss 变量覆盖我的节点模块