2015-12-10 61 views
0

我有一個使用打字稿一個web項目,我有以下的(僞)文件結構:tsconfig.json和外部參考

. 
|_externaldeps 
|_tssrc 
|_test 
|_tsoutput 
|_typings 

externaldeps包含外部庫,如角和jQuery等,但也一些包含d.ts文件的公司內部庫。

tssrc包含我的源文件

測試包含寫在打字稿業力測試。

tsoutput包含transpiling的tssrc

分型結果包含d.ts文件從DefinetlyTyped

我的問題是如何爲這個配置tsconfig.json。 Tssrc需要了解everyting但測試文件夾,測試文件夾基本上只需要瞭解tssrc文件夾等

這怎麼可能解決呢?建議非常感謝。

+0

你能再細說一下嗎? '你需要知道'是什麼意思?也許[這](https://medium.com/@mweststrate/how-to-create-strongly-typed-npm-modules-1e1bda23a7f4#.1b6jcuj4r)是一個有用的職位。 – Rik

回答

0

你應該使用一個任務運行的工具,像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文件。