Javascript “装载”;Gruntfile.js“;任务语法错误
我在尝试运行grunt时遇到以下错误:Javascript “装载”;Gruntfile.js“;任务语法错误,javascript,gruntjs,Javascript,Gruntjs,我在尝试运行grunt时遇到以下错误: Loading "Gruntfile.js" tasks...ERROR SyntaxError: missing ) after argument list Warning: Task "default" not found. Use --force to continue. Aborted due to warnings. 我想知道是否有人能帮我纠正这个问题 这是我的Grunfile文件: module.exports = function(grun
Loading "Gruntfile.js" tasks...ERROR
SyntaxError: missing ) after argument list
Warning: Task "default" not found. Use --force to continue.
Aborted due to warnings.
我想知道是否有人能帮我纠正这个问题
这是我的Grunfile文件:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
},
dist: {
files: {
'public/dist/js/<%= pkg.name %>.min.js' : ['public/src/js/<%= pkg.name %>.js']
}
},
dev: {
options: {
compress: false,
beautify: true,
mangle: false
},
files: {
'public/dist/js/<%= pkg.name %>.min.js' : ['public/src/js/<%= pkg.name %>.js']
}
}
},
imageoptim: {
myTask: {
src: ['public/src/img','public/dist/img']
}
},
sass: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
},
dist: {
options: {
style: 'compressed'
},
files: {
'public/dist/css/<%= pkg.name %>.min.css' : 'public/src/css/<%= pkg.name %>.scss'
}
},
dev: {
options: {
style: 'expanded'
},
files: {
'public/dist/css/<%= pkg.name %>.min.css' : 'public/src/css/<%= pkg.name %>.scss'
}
}
},
watch: {
css: {
files: ['public/src/css/*.scss'],
tasks: ['sass:dev']
},
js: {
files: ['public/src/js/*.js'],
tasks: ['uglify:dev']
}
},
concat: {
options: {
separator: ';'
},
dist: {
src: ['public/src/js/jquery-1.10.2.js', 'public/src/js/plugins/*.js', 'public/src/js/main.js'],
dest: 'public/dist/js/<%= pkg.name %>.js'
}
},
eslint: {
target: ['public/src/js/*.js']
},
webstandards: {
dist: {
src: ['public/dist']
}
},
mochaTest: {
test: {
options: {
reporter: 'spec',
captureFile: 'results.txt'
},
src: ['public/src/js/**/*.js']
}
},
clean: ['public/dist/css', 'public/dist/js']
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-eslint');
grunt.loadNpmTasks('grunt-imageoptim');
grunt.loadNpmTasks('grunt-webstandards');
grunt.loadNpmTasks('grunt-mocha');
grunt.loadNpmTasks('grunt-mocha-test');
// Default task(s).
grunt.registerTask('default', 'Dev Default Task', function() {
grunt.log.writeln('\n********* RUNNING DEV TASKS -- NOT FOR PRODUCTION *********');
grunt.task.run(['uglify:dev', 'sass:dev', 'eslint', 'mochaTest']);
};
// Optimize images.
grunt.registerTask('img', ['imageoptim']);
grunt.registerTask('dist', ['uglify:dist', 'sass:dist', 'webstandards:dist']);
grunt.registerTask('dev', ['uglify:dev', 'sass:dev', 'eslint', 'mochaTest']);
};
module.exports=函数(grunt){
//项目配置。
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
丑陋的:{
选项:{
横幅:'/*!*/\n'
},
地区:{
档案:{
'public/dist/js/.min.js':['public/src/js/.js']
}
},
开发人员:{
选项:{
压缩:错,
美化:对,,
马槽:错
},
档案:{
'public/dist/js/.min.js':['public/src/js/.js']
}
}
},
imageoptim:{
我的任务:{
src:['public/src/img','public/dist/img']
}
},
sass:{
选项:{
横幅:'/*!*/\n'
},
地区:{
选项:{
样式:“压缩”
},
档案:{
“public/dist/css/.min.css”:“public/src/css/.scss”
}
},
开发人员:{
选项:{
样式:“扩展”
},
档案:{
“public/dist/css/.min.css”:“public/src/css/.scss”
}
}
},
观察:{
css:{
文件:['public/src/css/*.scss'],
任务:['sass:dev']
},
js:{
文件:['public/src/js/*.js'],
任务:['uglify:dev']
}
},
康卡特:{
选项:{
分隔符:';'
},
地区:{
src:['public/src/js/jquery-1.10.2.js','public/src/js/plugins/*.js','public/src/js/main.js'],
dest:'public/dist/js/.js'
}
},
埃斯林:{
目标:['public/src/js/*.js']
},
网站标准:{
地区:{
src:[“公共/地区”]
}
},
莫切特:{
测试:{
选项:{
记者:"规格",,
captureFile:'results.txt'
},
src:['public/src/js/***.js']
}
},
干净:['public/dist/css','public/dist/js']
});
//加载提供“丑”任务的插件。
grunt.loadNpmTasks(“grunt-contrib-uglify”);
grunt.loadNpmTasks(“grunt-contrib-sass”);
grunt.loadNpmTasks(“grunt-contrib-watch”);
grunt.loadNpmTasks(“grunt-contrib-clean”);
grunt.loadNpmTasks(“grunt-contrib-concat”);
grunt.loadNpmTasks(“grunt-eslint”);
glunt.loadNpmTasks('grunt-imageoptim');
grunt.loadNpmTasks(“grunt-webstandards”);
grunt.loadNpmTasks(“grunt-mocha”);
grunt.loadNpmTasks(“grunt-mocha-test”);
//默认任务。
registerTask('default','Dev default Task',function(){
grunt.log.writeln('\n**********正在运行开发任务--不用于生产任务********');
run(['uglify:dev','sass:dev','eslint','mochaTest']);
};
//优化图像。
grunt.registerTask('img',['imageoptim']);
grunt.registerTask('dist',['uglify:dist','sass:dist','webstandards:dist']);
registerTask('dev',['uglify:dev','sass:dev','eslint','mochaTest']);
};
在第107行(我想)您错过了在第104行打开的结束()
这一部分应该解决这个问题
// Default task(s).
grunt.registerTask('default', 'Dev Default Task', function() {
grunt.log.writeln('\n********* RUNNING DEV TASKS -- NOT FOR PRODUCTION *********');
grunt.task.run(['uglify:dev', 'sass:dev', 'eslint', 'mochaTest']);
});
您缺少
默认任务定义结尾处的结束)
。非常感谢。真是个白痴,竟然错过了。呵呵。