2016-12-28 116 views
1

我正在使用tsify來構建我的TypeScript文件。但是,目前看來tsify正在讀取源文件中的所有TypeScript文件,而不僅僅是包含在我的主TypeScript文件(以及隨後導入的文件)中的文件。我如何限制tsify只給browserify的文件?tsify - 只能閱讀browserify文件

咕嘟咕嘟任務:

gulp.task("build", function() 
{ 
    return browserify({}) 
    .add("index.ts") 
    .plugin(tsify) 
    .transform("babelify", { 
     "presets" : ["es2015", "stage-0"] 
    }) 
    .bundle() 
    .pipe(source("index.js")) 
    .pipe(gulp.dest("www")); 
}); 

而且tsconfig.json:

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "lib": [ 
     "dom", 
     "es2015", 
     "es2016", 
     "es2017" 
    ], 
    "noImplicitAny": true, 
    "strictNullChecks": true, 
    "target": "es2015" 
    }, 
    "exclude": [ 
    "node_modules" 
    ] 
} 

回答

1

要有tsify只包括在編譯從Browserify源文件時,應指定在tsconfig.jsonfiles陣列文件。然後

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "lib": [ 
     "dom", 
     "es2015", 
     "es2016", 
     "es2017" 
    ], 
    "noImplicitAny": true, 
    "strictNullChecks": true, 
    "target": "es2015" 
    }, 
    "files": [] 
} 

tsify將只包括Browserify切入點文件和它們的編譯依賴。

如果您的tsconfig.json使用其他工具,這可能會導致問題,因爲他們不知道編譯中涉及哪些文件。如果是這種情況,您也可以在tsconfig.json中包含入口點文件,也可以使用單獨的,不同名稱的配置文件 - 例如, tsconfig-tsify.json - 對於tsify。 (您可以使用tsifyproject選項指定一個配置文件。)

+0

這可以很好地工作。它弄亂了我的代碼編輯器,所以我不得不使用單獨的配置選項。謝謝! – dawsonc623