Javascript 在使用grunt usemin和rev
我想将javascript错误记录到服务器上,但stacktrace对于缩小JS代码没有用处。因此,我想在Javascript 在使用grunt usemin和rev,javascript,gruntjs,sentry,uglifyjs2,Javascript,Gruntjs,Sentry,Uglifyjs2,我想将javascript错误记录到服务器上,但stacktrace对于缩小JS代码没有用处。因此,我想在sourcemaps的帮助下使用显示正确堆栈跟踪的或。但我首先要努力创建sourcemap 我犯了这个错误 “未写入目标(_build/js/app.js),因为src文件为空。” 一旦正确创建源映射,就会出现另一个问题,即rev将重命名该文件。我还需要保留未统一的连接文件 下面是我的gruntfile.js(我从中删除了一些内容) 更新 尝试了@Andy的解决方案后,它仍然显示相同的错误
sourcemaps
的帮助下使用显示正确堆栈跟踪的或。但我首先要努力创建sourcemap
我犯了这个错误
“未写入目标(_build/js/app.js),因为src文件为空。”
一旦正确创建源映射,就会出现另一个问题,即rev
将重命名该文件。我还需要保留未统一的连接文件
下面是我的gruntfile.js(我从中删除了一些内容)
更新
尝试了@Andy的解决方案后,它仍然显示相同的错误
“由于src文件为空,所以未写入目的地(_build/js/app.js)。
,并且在构建时也在下面说明
uglify:
{ options:
{ sourceMap: true,
sourceMapName: '_build/js/app.js.map' },
js: { files: { '_build/js/app.js': [ '_build/js/app.js' ] } },
generated:
{ files:
[ { dest: 'dist\\js\\app.js',
src: [ '.tmp\\concat\\js\\app.js' ] } ] } }
不知道它从哪里得到的dest
name。我的输出文件夹是\u build
更新2:请参阅以下链接以获得更好的解决方案
丑陋的选项有:
sourceMap: true,
sourceMapName: 'path/to/name.map'
例如,在我的grunfile.js
中,我使用package.json
中的名称:
sourceMap: true,
sourceMapName: 'dist/<%= pkg.name %>-<%= pkg.version %>.map'
sourceMap:true,
sourceMapName:'dist/-.map'
要使sourcemaps与usemin流一起工作,没有简单的解决方案。
这是一个一年内没有解决的已知问题似乎:
useminPrepare正在将现有的uglify配置与其自己的配置合并,但嵌套在生成的
下。因此,丑八怪的这种配置适合我
grunt.initConfig({
uglify: {
generated: {
options: {
sourceMap: true
}
}
}
});
我已经用实施您的解决方案的结果更新了这个问题。当我将输出文件夹改为dist
而不是\u build
时,这部分起到了作用。因此,似乎在usemin
中有一些硬编码名称dist
。剩下的问题是1。连接的未统一文件位于.tmp
文件夹中,不在js
文件夹中的min文件旁边。2.当我打开并看到生成的sourcemap时,它引用的是app.js
文件,而不是rev'ed
名称,即.app.js
。现在试着绕过这些。如果.app.js文件底部没有显示reved名称,会不会有好运?那么,实际的解决方案是什么?谢谢。我有点搞不清楚这个丑东西是从哪里来的
grunt.initConfig({
uglify: {
generated: {
options: {
sourceMap: true
}
}
}
});