tsconfig.json和外部引用

时间:2015-12-10 08:27:42

标签: typescript

我有一个使用typescript的web项目,我有以下(伪)文件结构:

.
|_externaldeps
|_tssrc
|_test
|_tsoutput
|_typings

externaldeps 包含外部库,例如Angular,Jquery等,还包含一些包含d.ts文件的公司内部库。

tssrc 包含我的源文件

测试包含使用Typescript编写的业力测试。

tsoutput 包含转换tssrc的结果

typings 包含来自DefinetlyTyped的d.ts文件

我的问题是如何为此配置tsconfig.json。 Tssrc需要了解除测试文件夹之外的所有内容,测试文件夹基本上只需要了解tssrc文件夹等。

怎么能解决这个问题?建议非常感谢。

1 个答案:

答案 0 :(得分:0)

你应该使用像Gulp这样的任务运行工具,它会让你的生活更加轻松......

以下是用于使用Gulp编译某些单元测试和源代码的配置示例:

// The TypeScript compiler settings
var tsProject = tsc.createProject({
  removeComments : false,
  noImplicitAny : false,
  target : "ES5",
  module : "commonjs",
  declarationFiles : false
});

// compile app code
gulp.task("build-source", function() {
  return gulp.src(__dirname + "/source/*.ts")
             .pipe(tsc(tsProject))
             .js.pipe(gulp.dest(__dirname + "/build/source/"));
});

var tsTestProject = tsc.createProject({
  removeComments : false,
  noImplicitAny : false,
  target : "ES5",
  module : "commonjs",
  declarationFiles : false
});

// compile test code
gulp.task("build-test", function() {
  return gulp.src(__dirname + "/test/*.test.ts")
             .pipe(tsc(tsTestProject))
             .js.pipe(gulp.dest(__dirname + "/build/test/"));
});

注意:我使用两个单独的``tsc.createProject`,因为使用相同的两次使用不同的输入和输出文件夹会导致意外行为。

完整示例可用here。看一下gulpfile.js文件。