Angular 2内化(ng-xi18n工具),无需编译代码

时间:2016-11-07 19:11:47

标签: angular angular2-cli angular2-compiler

我使用ng-xi18n工具创建i18n文件。当我执行"./node_modules/.bin/ng-xi18n" messages.xlf文件时创建。问题是所有代码都已编译。创建了js,js.map,metadata.json文件,我不需要它们。锄头创建不带js,js.map和metadta.json文件的messages.xlf?

这是我的tsconfig.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 }
}

1 个答案:

答案 0 :(得分:1)

这实际上是该工具中的一个未解决的问题:

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

作为一种解决方法,我已经实现了一个npm脚本来运行<link href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css" rel="stylesheet"/> <link href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js"></script> <button id="image-button">Image Example</button> <button id="inline-button">Inline Example</button> <div id="inline-popup" class="white-popup mfp-hide"> Popup content </div>,然后删除生成的文件。

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文件夹中包含了所有与角度相关的代码,因此我定位了从该文件夹开始的删除。
  • 我不依赖于该文件夹中的任何.js文件,因此我可以安全地删除所有这些文件。如果您想要保留一些javascript文件并相应地调整globbing模式,请考虑到这一点。
  • 您需要添加rimraf作为依赖项(或者最好是dev依赖项)才能正常工作。

希望这有助于修复错误。

干杯!