我需要什么
我做了什么
在tsconfig.json中我设置了
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node"
}
我创建了gulp任务,将打字稿文件编译到build/scripts/commonjs
文件夹中,包括源地图,然后是另一个使用browserify捆绑来自build/scripts/commonjs
的文件和源地图的任务:
var gulp = require('gulp'),
browserify = require('gulp-browserify'),
sourcemaps = require('gulp-sourcemaps'),
typescript = require('gulp-typescript');
gulp.task('compile-typescript', function(){
var tsProject = typescript.createProject('tsconfig.json');
var tsResult = tsProject.src() // instead of gulp.src(...)
.pipe(sourcemaps.init())
.pipe(typescript(tsProject));
return tsResult.js
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('build/scripts/commonjs'));
});
gulp.task("browserify", function () {
return gulp.src('build/scripts/commonjs/app.js')
.pipe(browserify({
debug : true, //this generates source map
}))
.pipe(gulp.dest('build/scripts/'));
});
`compile-typescript'的输出是:
build
scripts
commonjs
-app.js
-app.js.map
-testmodule.map
-testmodule.js.map
来自browserify:
build
scripts
-app.js //this contains source map inside
我在html中包含了捆绑包(' build / scripts / app.js')并且它在浏览器中工作,但是调试调试仅适用于已编译的javascript文件。
是否可以先编译打字稿然后捆绑它,同时仍能调试原始资源