tsify - 仅读取browserify文件

时间:2016-12-28 21:55:31

标签: typescript browserify tsify

我使用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"
  ]
}

1 个答案:

答案 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选项指定配置文件。)