Angular 2 i18n提取失败错误

时间:2016-09-28 14:20:52

标签: angular internationalization translation

使用ng-xi18n命令时出现以下问题:

c:\Users\Documents\bptt_webclient>node_modules\.bin\ng-xi18n                                                                                                                    
Error: parameters received {"filePath":"c:/Users/Documents/bptt_webclient/node_modules/@angular/common/src/location/location.d.ts","name":"Location"} which is not a StaticSymbo
l                                                                                                                                                                                              
    at StaticReflector.parameters (c:\Users\Documents\bptt_webclient\node_modules\@angular\compiler-cli\src\static_reflector.js:92:19)                                          
    at CompileMetadataResolver.getDependenciesMetadata (c:\Users\Documents\bptt_webclient\node_modules\@angular\compiler\bundles\compiler.umd.js:14317:56)                      
    at CompileMetadataResolver.getTypeMetadata (c:\Users\Documents\bptt_webclient\node_modules\@angular\compiler\bundles\compiler.umd.js:14282:28)                              
    at c:\Users\Documents\bptt_webclient\node_modules\@angular\compiler\bundles\compiler.umd.js:14425:43                                                                        
    at Array.forEach (native)                                                                                                                                                                  
    at CompileMetadataResolver.getProvidersMetadata (c:\Users\Documents\bptt_webclient\node_modules\@angular\compiler\bundles\compiler.umd.js:14405:21)                         
    at c:\Users\Documents\bptt_webclient\node_modules\@angular\compiler\bundles\compiler.umd.js:14412:43                                                                        
    at Array.forEach (native)                                                                                                                                                                  
    at CompileMetadataResolver.getProvidersMetadata (c:\Users\Documents\bptt_webclient\node_modules\@angular\compiler\bundles\compiler.umd.js:14405:21)                         
    at CompileMetadataResolver.getNgModuleMetadata (c:\Users\Documents\bptt_webclient\node_modules\@angular\compiler\bundles\compiler.umd.js:14164:60)                          
Extraction failed  

有没有人知道如何解决这个问题?

节点版本:v6.6.0

Angular:2.0.0

感谢您的时间和帮助:)

编辑:对我来说有用的是取消注释,这会在static.reflector.js中引发错误。仍然有错误,但也是一个新的.xlf文件。只是一个临时解决方案。

3 个答案:

答案 0 :(得分:2)

删除RouterTestingModule的所有导入,并等待修复以下问题。

https://github.com/angular/angular/issues/11276

答案 1 :(得分:0)

尝试使用github上提及的node_modules/.bin/ng-xi18n -p src/tsconfig.json ...它为我生成.xlf而没有任何错误。

答案 2 :(得分:0)

您可以尝试在 package.json ??

中创建脚本吗?

package.json

Customer

并从命令行

运行脚本
{
  ...,
  "scripts": {
    "i18n": "ng-xi18n",
    ...
  },
  ...
}