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

时间:2017-07-03 20:44:13

标签: typescript tsc

我希望TypeScript编译器使用node_modules/firebase/firebase.d.ts来检查我的代码,并将node_modules/firebase/firebase.js绑定到我从firebase导入内容的一些文件中。我知道有many options会为我做这件事,但我想保持最小的开发环境。

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

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

1 个答案:

答案 0 :(得分:6)

tsc是编译器,而不是捆绑器。 This question详细阐述了捆绑。

在使用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']);
});
相关问题