我正在使用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文件,但事实并非如此。它只生成带引用行的文件......
答案 0 :(得分:1)
Typescript中的接口不会编译成JS代码。
从给定的TS代码(接口声明)中,您可以获得&#34; .d.ts&#34;仅限文件 - 打字稿定义。
Vars,函数,类将生成一些JS代码。