尝试使用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
答案 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上的错误或其他什么,但至少它现在正在工作......