gpt4 book ai didi

javascript - 在使用 grunt usemin 和 rev 时使用 SourceMaps Uglify

转载 作者:数据小太阳 更新时间:2023-10-29 03:50:40 26 4
gpt4 key购买 nike

我想将 javascript 错误记录到服务器,但堆栈跟踪对于缩小的 JS 代码没有用。所以我正在考虑使用 GetsentryRollbarsourcemaps 的帮助下显示正确的堆栈跟踪.但是我首先要努力创建源 map 。

我遇到了这个错误

“目标 (_build/js/app.js) 未写入,因为 src 文件为空。”

一旦正确创建源映射,就会出现另一个问题,即 rev将重命名文件。我还需要留下未缩小的串联文件。

下面是我的 gruntfile.js(我从中删除了一些内容。)

module.exports = function(grunt) {

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
clean: {
jsFolders: {
src: [
'_build/js/ui',
'_build/js/vendor',
'_build/js/app',
'_build/js/*templates.js'
]
},
build: {
src: ['_build/**/*']
}
},

copy: {
build: {
files: [{
expand: true,
src: [
'index.html',
'img/**/*', //includes web.cofig also.
'img/**/*.svg',
'!img/**/*.psd',
'js/**/*', //includes web.cofig also.
'css/**/*', //includes web.cofig also.
'*.png',
'favicon.ico'
],
dest: '_build/'
}]
},
},

rev: {
option: {
algorithm: 'sha1',
length: 4
},
all: {
files: {
src: [
'_build/**/*.{js,css,eot,ttf,woff}'
]
}
}
},

useminPrepare: {
html: ['_build/index.html']
},

usemin: {
html: [
'_build/index.html'
],
css: [
'_build/css/**/*.css'
]
},

uglify: {
options: {
sourceMap: '_build/js/app.js.map',
},
js: {
files: {
'_build/js/app.js': ['_build/js/app.js']
}
}
},

cssmin: {
minify: {
expand: true,
cwd: '_build/css/',
src: '*.css',
dest: '_build/css/'
}
},
});

grunt.registerTask('build', [
'clean:build',
'handlebars',
'compass',
'autoprefixer',
'copy:build',
'useminPrepare',
'concat',
'uglify',
'cssmin',
'clean:jsFolders',
'rev',
'usemin',
]);

};

更新


试过@Andy的解决方案,还是报同样的错误"Destination (_build/js/app.js) not written because src files were empty."并且在构建时还在下面说

 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名字从。我的输出文件夹是 _build .

更新 2:
请引用以下链接以获得更好的解决方案
https://stackoverflow.com/a/20574196/148271 https://github.com/gruntjs/grunt-contrib-uglify/issues/39#issuecomment-14856100

最佳答案

useminPrepare 将现有的 uglify 配置与其自身合并,但嵌套在 generated 下。因此,这个 uglify 配置对我有用

grunt.initConfig({
uglify: {
generated: {
options: {
sourceMap: true
}
}
}
});

关于javascript - 在使用 grunt usemin 和 rev 时使用 SourceMaps Uglify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21992222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com