我尝试使用grunt-contrib-coffee插件使用grunt编译我的coffeescript文件。但是运行grunt coffee
,我总是会收到此错误:
RangeError: Maximum call stack size exceeded
这是我的grunt.js文件:
/*global module:false*/
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
meta: {
version: '0.1.0',
banner: '/*! PROJECT_NAME - v<%= meta.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'* http://PROJECT_WEBSITE/\n' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> ' +
'YOUR_NAME; Licensed MIT */'
},
lint: {
files: ['grunt.js', 'lib/**/*.js', 'test/**/*.js']
},
qunit: {
files: ['test/**/*.html']
},
concat: {
dist: {
src: ['<banner:meta.banner>', '<file_strip_banner:lib/FILE_NAME.js>'],
dest: 'dist/FILE_NAME.js'
}
},
min: {
dist: {
src: ['<banner:meta.banner>', '<config:concat.dist.dest>'],
dest: 'dist/FILE_NAME.min.js'
}
},
watch: {
files: '<config:lint.files>',
tasks: 'lint qunit'
},
jshint: {
options: {
curly: true,
eqeqeq: true,
immed: true,
latedef: true,
newcap: true,
noarg: true,
sub: true,
undef: true,
boss: true,
eqnull: true,
browser: true
},
globals: {}
},
uglify: {},
coffee: {
compile: {
files: {
'javascript/result.js': 'lib/grayScott.coffee'
}
}
}
});
// Default task.
grunt.registerTask('default', 'lint qunit concat min');
grunt.registerTask('coffee', 'coffee');
};
答案 0 :(得分:9)
将以下行添加到grunt.js文件中以加载grunt-contrib-coffee
任务(安装任务后,即npm install grunt-contrib-coffee
:
grunt.loadNpmTasks('grunt-contrib-coffee');
然后删除此行:grunt.registerTask('coffee', 'coffee');
。该行试图将咖啡任务注册到自身,这可能是RangeError
的原因。