如何让 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']);
});
我希望 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']);
});