【发布时间】:2015-12-10 19:46:44
【问题描述】:
我正在尝试使用 grunt 和 babel 将文件夹中的所有 js6 文件转换为原始 es6 文件的连接单个文件 (js5) 和工作源映射。但是源映射不起作用。我的 babel,concat 设置如下:
"babel": {
options: {
sourceMap : true
},
dist: {
files:[
{
expand: true,
cwd: 'wwwroot/js/src',
src: ['*.js'],
dest: 'tmp/js'
}]
}
},
concat: {
options: {
sourceMap: true
},
js: {
src: [
'tmp/js/*.js',
],
dest: 'wwwroot/js/app.js'
}
}
Versions:
"grunt": "0.4.5",
"grunt-bower-task": "0.4.0",
"grunt-babel": "5.0.1",
"grunt-contrib-concat" : "0.5.1"
我首先得到一个包含大量 js 文件和 src 映射(tmp 目录)的文件夹。但是将它们连接到一个文件中会完全搞乱源映射。
想法?另外,我可以以某种方式跳过临时文件的制作并将结果通过管道传输到 concat 中吗?
【问题讨论】:
-
您可以先运行 concat 任务,然后在单个文件上运行带有源映射选项 true 的 babel 任务
-
@PrayagVerma 确实使它更好一点,因为我可以调试 es6 代码。不是来自原始文件,但更好。
-
babel 似乎有一个 inputSourceMap 选项,但让它工作对我来说似乎并不容易。
-
@PrayagVerma 很好,但是当 Babel 遇到错误时,它不会显示它的原始源位置,而是在连接文件中。有谁知道如何解决这个问题?
标签: javascript gruntjs grunt-contrib-concat grunt-babel