【问题标题】:tsify - Only read browserify filestsify - 只读取 browserify 文件
【发布时间】:2016-12-28 21:55:30
【问题描述】:

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

【问题讨论】:

    标签: typescript browserify tsify


    【解决方案1】:

    要让 tsify 在编译中仅包含源自 Browserify 的文件,您应该在 tsconfig.json 文件中指定一个空的 files 数组。

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

    【讨论】:

    • 这非常有效。它确实弄乱了我的代码编辑器,所以我不得不使用单独的配置选项。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-04-20
    • 2016-02-22
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多