我正在尝试,使用grunt和babel,在一个文件夹中传输所有js6文件,并将一个带有工作源图的级联单个文件(js5)传输到原始的es6文件。但是,源映射不起作用。我的babel,在下面的设置:
"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?
发布于 2015-09-17 11:46:37
颠倒任务顺序将使easier.First在JS文件上运行concat任务。之后,在babel任务之前创建的单个文件上运行concat任务,并使用以下选项
options: {
sourceMap: true,
inputSourceMap: grunt.file.readJSON('script.js.map')
},在这里,script.js.map文件是concat任务生成的源图文件的名称。当inputSourceMap选项不包括源映射对象时,我们使用grunt.file API的readJSON方法传递它
完整的Grunt文件配置如下:
concat: {
options: {
sourceMap: true
},
js: {
src: ['Modules/**/js/*.js'],
dest: 'script.js'
}
},
babel: {
dist: {
options: {
sourceMap: true,
inputSourceMap: grunt.file.readJSON('script.js.map')
},
src: [
'script.js',
],
dest: 'app.js'
}
}https://stackoverflow.com/questions/32571058
复制相似问题