我使用ng-xi18n工具创建i18n文件。当我执行"./node_modules/.bin/ng-xi18n"
消息时。完成XLF文件的创建。问题是所有的代码都是编译的。js, js。地图,元数据。json文件被创建,我不需要它们。如何创建消息。XLF不带js, js。映射和元数据。json文件?
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"noEmitHelpers": true,
"strictNullChecks": false,
"baseUrl": "./src",
"paths": {
},
"lib": [
"dom",
"es6"
],
"types": [
"hammerjs",
"jasmine",
"node",
"protractor",
"selenium-webdriver",
"source-map",
"uglify-js",
"webpack"
]
},
"exclude": [
"node_modules",
"dist"
],
"awesomeTypescriptLoaderOptions": {
"forkChecker": true,
"useWebpackText": true
},
"compileOnSave": false,
"buildOnSave": false,
"atom": { "rewriteTsconfig": false }
}
这实际上是工具中的一个开放问题:
https://github.com/angular/angular/issues/13567作为一种解决方案,我实现了一个npm脚本来运行ng-xi18n
,然后删除生成的文件。
在package.json
中添加以下scripts
部分:
"scripts": {
"i18n": "ng-xi18n && npm run clean:i18n",
"clean:i18n": "rimraf ClientApp/**/*.js ClientApp/**/*.js.map ClientApp/**/*.metadata.json"
}
然后你可以发出npm run i18n
来执行提取和清理。
指出:
- 在我的设置中,我在项目文件夹的根目录下的
ClientApp
文件夹中有所有与angular相关的代码,因此我的目标是从该文件夹开始删除。 - 我不依赖于该文件夹中的任何.js文件,因此我可以安全地删除它们。考虑到这一点,如果你有一些javascript文件,你想保留和调整相应的globbing模式。
- 你需要将rimraf添加为依赖项(或者最好是开发依赖项)才能使其工作。
希望这能帮到你,直到bug被修复。
干杯!