在grunt-ts将打字稿编译成js

时间:2017-07-09 07:24:29

标签: typescript gruntjs karma-runner grunt-ts

目前我正在将旧的Angular 1项目从ES5转换为TS。 我们选择将所有遗留文件重命名为typescript,修复编译错误并使用typescript编写新的Angular 1组件的方法。 我们正在使用grunt-ts进行编译。编译成功后,我们使用grunt job清理所有生成的JS文件。

问题:grunt-ts任务结束,并且在业力测试任务开始之后。 但由于某些原因,在grunt-ts完成并且karma任务开始后,js文件出现在源目录中。这就是karma任务失败的原因,因为它无法找到js spec文件。我无法理解为什么grunt-ts js文件稍后会在源目录中生成。

这是tsconfig文件

{   "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "amd",
    "target": "es5",
    "noImplicitAny": false,
    "checkJs": false,
    "allowJs": true,
    "inlineSourceMap": true,
    "inlineSources": true,
    "removeComments": false,
    "types" : ["jasmine"],
    "lib": ["es2017", "dom"]   },   "include": [
     "src/**/*.ts"   ],   "exclude": [
     "node_modules",
     "dist",
     ".npmcache",
     "coverage",
     "dist",
     "docs",
     "grunt-build",
     "lib",
     "./",
     "typings",
     "modules",
     "target",
     "test"   ]

}

这是grunt-ts任务

grunt.initConfig({
    ts: {
        default: {
             // specifying tsconfig as a boolean will use the 'tsconfig.json' in same folder as Gruntfile.js
             tsconfig: true
        },
        comileSources: {
            src: ["src/sources/**/*.ts"],
            reference: 'referencesSources.ts',
            tsconfig: true,
            out:'target/sources/sources.js',

        },
        spec: {
            reference: 'referencesSpecs.ts',
            src: ["referencesSpecs.ts", "test/spec/sources/**/*.ts"],
            tsconfig: true
        } }

0 个答案:

没有答案