源映射与browserify,typescript和gulp

时间:2016-06-15 09:49:06

标签: typescript gulp browserify source-maps

我有一些打字稿代码。我想要的是:

.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"));
});

0 个答案:

没有答案