打字稿 - > es6 - >源映射的es5错误

时间:2016-04-05 08:22:37

标签: typescript gulp ecmascript-6 babeljs ecmascript-5

编译打字稿时 - > es6 - > es5在源图中出现问题。 我想获取打字稿源图,但它们仅针对根目录中的文件生成。 对于嵌套文件夹,仅生成es6源图,而不使用ts。 Screenshot

工具: gulp-tsb:1.10.0, gulp-babel:6.1.2, gulp-sourcemaps:^ 1.3.0

tsconfig中的选项:

 "compilerOptions": {
 "rootDir": "src/",
 "sourceMap": true,
 "target": "es6",
 "module": "commonjs",
 "declaration": false,
 "noImplicitAny": false,
 "noResolve": true,
 "removeComments": true,
 "noLib": false,
 "emitDecoratorMetadata": true,
 "experimentalDecorators": true     
}

我的大口任务:

var typescriptCompiler = typescriptCompiler || null;
   gulp.task('build-system', function() {
    if(!typescriptCompiler) {
       typescriptCompiler =  typescript.create(require('../../tsconfig.json').compilerOptions);
}
  return gulp.src(paths.dtsSrc.concat(paths.source))
  .pipe(plumber())
  .pipe(sourcemaps.init({loadMaps: true}))
  .pipe(typescriptCompiler())
  .pipe(to5(assign({}, compilerOptions.commonjs())))
  .pipe(sourcemaps.write())
  .pipe(gulp.dest(paths.output));
});

1 个答案:

答案 0 :(得分:0)

有一些错误:

  

TS> ES6>从原始* .ts文件中保留源映射时的JS转换

     

我使用显示错误的代码创建了一个小型仓库:https://github.com/helios1138/--babel-sourcemaps-error-case

     

clone,npm install并运行./build.sh以查看无效的映射错误

     

看起来TS2.0 +中的更改阻止了生成相对的sourceMapUrl,尽管在tsconfig.json中添加了mapRoot属性

<强>参考