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

2024-05-22

我想要使​​用 TypeScript 编译器node_modules/firebase/firebase.d.ts检查我的代码并捆绑node_modules/firebase/firebase.js到我从 firebase 导入内容的一些文件中。我明白有很多选择 https://stackoverflow.com/questions/35062852/npm-vs-bower-vs-browserify-vs-gulp-vs-grunt-vs-webpack这将为我做到这一点,但我想保持最小的开发环境。

我已经设定"moduleResolution": "node" in my tsconfig.json,它会导入定义并根据需要对我的代码进行类型检查。我还添加了"isolatedModules": true试图将实际代码捆绑到我的每个目标中,但生成的代码并未按照我的意愿捆绑 firebase.js 。有没有"module"编译器选项将为我执行此操作,还是我应该添加其他内容?

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


tsc是编译器,而不是捆绑器。这个问题 https://stackoverflow.com/questions/35062852/npm-vs-bower-vs-browserify-vs-gulp-vs-grunt-vs-webpack对捆绑进行了一些阐述。

在使用 TypeScript 进行开发时,gulp https://www.npmjs.com/package/gulp-browserify + gulp-browserify https://www.npmjs.com/package/gulp-browserify可以提供观察者和捆绑器。

With "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']);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 TypeScript 从 node_modules 捆绑第 3 方库? 的相关文章

随机推荐