如何让 TypeScript 捆绑来自 node_modules 的第三方库?

How do I get TypeScript to bundle a 3rd party lib from node_modules?

我希望 TypeScript 编译器使用 node_modules/firebase/firebase.d.ts 对我的代码进行类型检查,并将 node_modules/firebase/firebase.js 捆绑到我从 firebase 导入内容的一些文件中。我知道有 可以为我做这件事,但我想保持一个最小的开发环境。

我在我的 tsconfig.json 中设置了 "moduleResolution": "node",它会根据需要导入定义和类型检查我的代码。我还添加了 "isolatedModules": true 以尝试将实际代码捆绑到我的每个目标中,但生成的代码并没有像我希望的那样捆绑 firebase.js。是否有 "module" 编译器选项可以为我执行此操作,或者我应该添加其他内容?

如果我在我的开发过程中绝对需要另一个工具,那么对 tsc 最简单的添加是什么,它将我的每个 JS 文件及其依赖项捆绑到一个 js 文件包中?

tsc 是编译器,不是打包器。 稍微解释一下捆绑。

在使用 TypeScript 进行开发时,gulp + gulp-browserify 可以提供观察器和打包器。

在编译器选项中使用 "module": "umd",此 gulpfile.js 将完成其余工作:

var gulp = require('gulp');
var ts = require('gulp-typescript');
var browserify = require('gulp-browserify');

gulp.task('default', function () {
  return gulp.src('src/*.ts')
    .pipe(ts.createProject('tsconfig.json')())
    .pipe(browserify())
    .pipe(gulp.dest('dist/gen'));
});

gulp.task('watch', ['default'], function () {
  gulp.watch('src/*.ts', ['default']);
});