Grunt从typescript源生成空文件

时间:2016-05-11 08:00:24

标签: javascript typescript gruntjs

我正在使用grunt来编译typescripts并从这些文件中生成一些.js文件。问题是,由于某种原因,我总是得到空文件,其中只有一行 - 来自编译文件的引用。但是应该包含相当复杂的javascript模块。

Gruntfile.js:

module.exports = function (grunt) {
    grunt.initConfig({

        pkg: grunt.file.readJSON("package.json"),

        clean: {
            dist: { src: ["dist"], force: true }
        },

        copy: {

        },

        typescript: {
            base: {
                src: [
                    "AwesomeGrid/**/*.ts"
                ],
                //dest: "dist/grid-fp.js",
                dest: "dist",
                options: {
                    target: "es5"
                }
            }
        }
    });

    grunt.loadNpmTasks("grunt-contrib-clean");
    grunt.loadNpmTasks("grunt-typescript");

    grunt.registerTask("default", ["clean", "typescript:base"]);
};

的package.json:

{
  "name": "FalsePositiveManagement",
  "version": "2.0.0-alpha",
  "private": true,
  "author": "Moravia s.r.o.",
  "license": "none",
  "devDependencies": {
    "grunt": "~0.4.5",
    "grunt-contrib-clean": "~0.6.0",
    "grunt-contrib-watch": "~0.6.1",
    "grunt-typescript": "^0.8.0"
  }
}

source .ts文件:

    ///<reference path="../../typings/tsd.d.ts"/>

    module Fp {
        export interface IGroupSettings {
            key: string;
            title: string;
            icon: string;
            url: string;
            active: boolean;
        }

        export interface IFPGridTableSettings {
            tableElement: JQuery;
            gridOptions: AwesomeGrid.IGridOptions;
        }

生成.js文件:

///<reference path="../../typings/tsd.d.ts"/>

tsd.d.ts文件:

    /// <reference path="jquery/jquery.d.ts" />

    /// <reference path="bootstrap/bootstrap.d.ts" />

    /// <reference path="chance/chance.d.ts" />

    /// <reference path="moment/moment.d.ts" />

    /// <reference path="grid/grid.d.ts" />

    /// <reference path="jasmine/jasmine.d.ts"/>

我对此很新,但是假设grunt应该从引用的文件中获取代码并将其编译为目标.js文件,但事实并非如此。它只生成带引用行的文件......

1 个答案:

答案 0 :(得分:1)

由于缺少相应的JS代码结构,

Typescript中的接口不会编译成JS代码。

从给定的TS代码(接口声明)中,您可以获得&#34; .d.ts&#34;仅限文件 - 打字稿定义。

Vars,函数,类将生成一些JS代码。