我有一个使用typescript的web项目,我有以下(伪)文件结构:
.
|_externaldeps
|_tssrc
|_test
|_tsoutput
|_typings
externaldeps 包含外部库,例如Angular,Jquery等,还包含一些包含d.ts文件的公司内部库。
tssrc 包含我的源文件
测试包含使用Typescript编写的业力测试。
tsoutput 包含转换tssrc的结果
typings 包含来自DefinetlyTyped的d.ts文件
我的问题是如何为此配置tsconfig.json。 Tssrc需要了解除测试文件夹之外的所有内容,测试文件夹基本上只需要了解tssrc文件夹等。
怎么能解决这个问题?建议非常感谢。
答案 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
文件。