Grunt CSS小程序调用堆栈超出
Grunt CSS minifier call stack exceeded
首次使用grunt。能够连接和缩小一些javascript。当我尝试对CSS做同样的事情时,我得到以下错误:
λ git master* → grunt cssmin
Running "cssmin:css" (cssmin) task
>> RangeError: Maximum call stack size exceeded
Warning: CSS minification failed. Use --force to continue.
Aborted due to warnings.
为什么会发生这种情况?
package.json
{
"name" : "Thing",
"title" : "Concatentation + Minification",
"version" : "1.0.0",
"devDependencies": {
"grunt": "0.4.5",
"grunt-contrib-concat": "0.5.0",
"grunt-contrib-cssmin" : "0.10.0",
"grunt-contrib-watch" : "0.6.1",
"grunt-contrib-uglify" : "0.5.0"
}
}
Gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
css: {
src: [
'static/css/*'
],
dest: 'combined.css'
},
js : {
src : [
'static/js/*'
],
dest : 'combined.js'
}
},
cssmin : {
css:{
src: 'combined.css',
dest: 'combined.min.css'
}
},
uglify : {
js: {
files: {
'combined.js' : [ 'combined.js' ]
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.registerTask('default', [ 'concat:css'
, 'cssmin:css'
, 'concat:js'
, 'uglify:js'
]);
};
我的css文件夹中有。png文件,因此会抛出调用堆栈大小超出。
尝试将cssmin
和ulgify
方法修改为:
cssmin : {
css:{
src: '<%= concat.css.dest %>',
dest: 'combined.min.css'
}
},
uglify : {
js: {
files: {
'<%= concat.js.dest %>' : 'combined.js'
}
}
}
查看cssmin任务的结构--> cssmin
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
css: {
src: [
'static/css/*'
],
dest: 'combined.css'
},
js : {
src : [
'static/js/*'
],
dest : 'combined.js'
}
},
cssmin : {
combine: {
files: {
'combined.min.css': ['combined.css'] //<---- Looks like it was a error in the usage of grunt-contrib-cssmin
}
}
},
uglify : {
js: {
files: {
'combined.js' : [ 'combined.min.js' ]
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.registerTask('default', [ 'concat:css'
, 'cssmin:css'
, 'concat:js'
, 'uglify:js'
]);
};
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 超过了async.detect最大调用堆栈大小
- 如何远程检查JavaScript应用程序的函数调用堆栈
- 超过了最大调用堆栈大小,循环无限
- 超过了最大调用堆栈大小.递归标签
- 日志:未捕获的范围错误:超过了最大调用堆栈大小
- 未捕获的范围错误:setTimeout()超过了最大调用堆栈大小
- JavaFX+WebView/Javascript:setTimeOut不起作用调用堆栈来自Java
- JavaScript继承:未捕获的范围错误:超过了最大调用堆栈大小
- 使用$cookies和$stateChangeStart检查sessionID是否超过了最大调用堆栈
- jQuery捕获"RangeError:超过了最大调用堆栈大小“;
- 设置这个.RangeError:超过了最大调用堆栈大小
- 收到“范围错误: 超出最大调用堆栈大小”错误
- 递归 - 测试最大堆栈大小时,调用堆栈无法弹出
- 轮询 ajax 函数超出调用堆栈
- Chrome RangeError:使用jQuery$.map时超过了最大调用堆栈大小
- 要求JS 2.1.9引起“;最大调用堆栈"使用Grunt时出错
- Chrome/jQuery未捕获范围错误:超过了最大调用堆栈大小(函数循环)
- 超过了最大调用堆栈大小-没有明显的递归
- 在 javascript 中使用函数堆栈调用非递归方法