1

尝试使用 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

4

2 回答 2

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命令需要模板 URL 相对于 TS 文件,而ng start需要它们以app\name.of.template.html. 所以我使用我暂时编写的外部脚本手动更改路径,生成我的 XLIFF 文件,然后将路径更改回来。如果您不使用 XLIFF i18n,请忽略此位。

于 2017-03-09T00:39:55.490 回答
0

所以...

我设法解决了这个问题......只需升级到 RC.1,瞧!有用!

所以我不确定这是否是 RC.0 上的错误或其他问题,但至少它现在可以工作......

于 2017-03-10T07:09:46.887 回答