我使用tsify
来构建我的TypeScript文件。但是,目前似乎tsify
正在读取源代码中的所有TypeScript文件,而不仅仅是我的主TypeScript文件中包含的文件(以及随后导入的文件)。如何将tsify
限制为仅提供给browserify
的文件?
Gulp任务:
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"
]
}
答案 0 :(得分:1)
要让tsify
仅包含编译中来自Browserify的文件,您应在files
文件中指定一个空的tsconfig.json
数组。
{
"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
。 (您可以使用tsify
' project
选项指定配置文件。)