Angular CLI枚举创建错误

时间:2017-03-08 12:40:46

标签: angular enums angular-cli angular2-cli

尝试使用Angular CLI创建枚举时,出现以下错误:

C:\angular\myapp\src\app\enums>ng generate enum myEnum
installing enum
Cannot read property '0' of undefined
TypeError: Cannot read property '0' of undefined
    at Object.getAppFromConfig (C:\angular\myapp\node_modules\@angular\cli\utilities\app-utils.js:4:19)
    at Class.normalizeEntityName (C:\angular\myapp\node_modules\@angular\cli\blueprints\enum\index.js:18:39)
    at Class.Blueprint._normalizeEntityName (C:\angular\myapp\node_modules\@angular\cli\ember-cli\lib\models\blueprint.js:454:24)
    at Class.Blueprint.install (C:\angular\myapp\node_modules\@angular\cli\ember-cli\lib\models\blueprint.js:513:8)
    at Class.run (C:\angular\myapp\node_modules\@angular\cli\ember-cli\lib\tasks\generate-from-blueprint.js:59:49)
    at Class.run (C:\angular\myapp\node_modules\@angular\cli\ember-cli\lib\commands\generate.js:71:17)
    at Class.<anonymous> (C:\angular\myapp\node_modules\@angular\cli\ember-cli\lib\models\command.js:134:17)
    at process._tickCallback (internal/process/next_tick.js:103:7)

有人知道这是Angular CLI上的错误还是我错误地创建了枚举?

我目前正在开发Angular CLI版本:1.0.0-rc.0

2 个答案:

答案 0 :(得分:1)

当我尝试运行Angular Quickstart zip包时,我今天遇到了这个问题。如果您在发布的错误中调试app-utils.js,则可以看到错误。我在文本编辑器中打开了该文件,并在错误中的该行上方执行了console.log。该行正在尝试加载angular-cli.json文件并且我的案例中缺少该文件(来自快速入门zip文件)。

在该目录中创建一个新的angular-cli.json文件,您正在运行此命令(在我的情况下,它是根目录),并使用下面我的演示仓库中的内容。然后再次运行ng generate ...命令。这对我有用,希望它也适合你。

请注意,我的angular-cli.json正在使用polyfill.ts和tsconfig.app.json(无论如何都在那里)

https://github.com/zagros/stack-overflow_angular-cli-enum-creation-error

如果您在i18n支持后,这也可能会让您感兴趣。我现在唯一的问题是node_modules\.bin\ng-xi18n -p src\tsconfig.json命令需要模板网址相对于TS文件,而ng start需要它们以{{1}开头}。因此,我使用我为时间编写的外部脚本手动更改路径,生成我的XLIFF文件,然后更改路径。如果您不使用XLIFF,请忽略此位。

答案 1 :(得分:0)

因此...

我成功解决了这个问题...... 只需升级到RC.1 瞧!它有效!

所以我不确定它是否是RC.0上的错误或其他什么,但至少它现在正在工作......