如何链接Gulp:使用源映射链接到Babel到Webpack?

时间:2016-10-28 04:41:13

标签: gulp webpack source-maps gulp-typescript gulp-babel

我正在尝试创建一个转换

的gulp任务

TS -> (ES6) -> Babel -> (ES5) -> Webpack -> [bundle.js, bundle.js.map]

源地图映射回原始TS代码。

如何用gulp做到这一点?

到目前为止,我已设法从TS -> ES6 -> Babel -> ES5

开始工作
// Build
gulp.task("build", ["clean"], () => {

    const tsProject = ts.createProject("tsconfig.json", {});
    const sourceMapOptions = {
        sourceRoot: __dirname+"/src"
    };

    return tsProject.src()
    .pipe(sourcemaps.init())

        // Typescript
        .pipe(tsProject())
        .js

        // Babel
        .pipe(babel({
            presets: ["es2015"],
            plugins: ["transform-runtime"]
        }))

        // Webpack <-- ????
        .pipe(webpack({})) // <-- ????

    .pipe(sourcemaps.write(".", sourceMapOptions))
    .pipe(gulp.dest("./dist"));

});

但不知道如何添加webpack。

1 个答案:

答案 0 :(得分:7)

由于仍然没有答案,这就是我最终要做的事情。

我必须分两步完成(来自here的想法):

  • 'prefix' => 'api',
  • Typescript -> (ES6) -> Babel -> (ES5)捆绑
    • 使用Webpack获取生成的源地图

source-map-loader