我有一些打字稿代码。我想要的是:
.ts files -> tsc -> .js files -> browserify -> single .js file
我可以做到这一点,但我的源地图有问题。当我启动浏览器时,.ts文件的路径不正确(source/
)。我不知道在哪里设置它。我已经看过很多网站,但我无法使用任何给定的解决方案(很有可能我做错了)。
为了得到我现在拥有的东西,我使用:
gulp tsc && cd temp && browserify --debug Application.js > app.js
我关注gulpfile.js
:
var gulp = require('gulp');
var ts = require('gulp-typescript');
var sourcemaps = require('gulp-sourcemaps');
gulp.task('tsc', function() {
return gulp
.src("src/*.ts")
.pipe(sourcemaps.init())
.pipe(ts({
target: "es5"
, module: "commonjs"
}))
.pipe(sourcemaps.write())
.pipe(gulp.dest("temp"));
});
我没有使用gulp-browserify,因为它已不再按照here的规定进行维护。我目前无法找到最佳方法。
更新
我设法做到了:
browserify src/Application.ts -p [ tsify --target=es5 --module=commonjs ] --d
ebug > temp/app.js
但是我有兴趣使用gulp来解决这个问题。
更新
我在打字稿网站here上找到了解决方案。我的任务是:
var gulp = require('gulp'),
browserify = require("browserify"),
source = require('vinyl-source-stream'),
tsify = require("tsify");
var tsconfig = {
noImplicitAny: true,
target: "es5",
module: "commonjs"
};
gulp.task("default", function () {
return browserify({
basedir: ".",
debug: true,
entries: ["src/Application.ts"],
cache: {},
packageCache: {}
})
.plugin(tsify, tsconfig)
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest("js"));
});