如何让TypeScript从node_modules捆绑第三方库?

And*_*rov 8 typescript tsc

我希望TypeScript编译器用于检查node_modules/firebase/firebase.d.ts我的代码,并捆绑node_modules/firebase/firebase.js到我从firebase导入东西的一些文件中.我知道有很多选项会为我做这件事,但我想保持一个最小的开发环境.

我已经设置"moduleResolution": "node"了我的tsconfig.json,它导入定义并输入我想要的代码检查.我还 "isolatedModules": true尝试将实际代码捆绑到我的每个目标中,但生成的代码并没有按照我的意愿捆绑firebase.js.是否有"module"编译器选项可以为我执行此操作,还是应该添加其他内容?

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

And*_*rov 7

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']);
});
Run Code Online (Sandbox Code Playgroud)