Gruntfile.js-Sass Watch中的语法错误
我是第一次使用grunt.js,设置sass手表时遇到了问题。我已经成功地安装了node.js和grunt,并且能够将我所有的javascript文件浓缩并缩小为一个文件。然后我开始尝试让它监视和编译我的sass文件,但我不明白为什么我的命令行中总是出现这个错误(显然有语法错误,但我不知道它在哪里 以下是我的命令行错误: Mandy在MandyMac的~/Desktop/Dropbox/WEBSITES/Portfolio/wp content/themes/Mandy_在master上制作了这个主题* $gruntGruntfile.js-Sass Watch中的语法错误,sass,gruntjs,watch,Sass,Gruntjs,Watch,我是第一次使用grunt.js,设置sass手表时遇到了问题。我已经成功地安装了node.js和grunt,并且能够将我所有的javascript文件浓缩并缩小为一个文件。然后我开始尝试让它监视和编译我的sass文件,但我不明白为什么我的命令行中总是出现这个错误(显然有语法错误,但我不知道它在哪里 以下是我的命令行错误: Mandy在MandyMac的~/Desktop/Dropbox/WEBSITES/Portfolio/wp content/themes/Mandy_在master上制作了这
/Users/Mandy/Desktop/Dropbox/WEBSITES/Portfolio/wp-content/themes/mandy_made_this_theme/Gruntfile.js:27
watch: {
^^^^^
Loading "Gruntfile.js" tasks...ERROR
>> SyntaxError: Unexpected identifier
Warning: Task "default" not found. Use --force to continue.
Aborted due to warnings.
这是我的package.json文件:
{
"name": "mandy-made-this-theme",
"version": "0.1.0",
"devDependencies": {
"grunt": "~0.4.2",
"grunt-contrib-jshint": "~0.6.3",
"grunt-contrib-nodeunit": "~0.2.0",
"grunt-contrib-uglify": "~0.2.2",
"grunt-contrib-sass": "^0.7.3",
"grunt-contrib-watch": "^0.6.1"
}
}
最重要的是,这是我的grunt文件:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: ['working/jquery-2.1.0.min.js, working/jquery-ui-1.10.4.custom.min.js', 'working/jquery.smooth-scroll.min.js', 'working/isotope.pkgd.min.js', 'working/scripts.js'], //input
dest: 'scripts/build/scripts.min.js' //output
}
},
sass: {
dist: {
options: {
style: 'expanded'
},
files: {
'style.css': 'sass/style.scss'
}
}
}
watch: {
css: {
files: '**/*.scss',
tasks: ['sass'],
options: {
livereload: true,
}
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
// Default task(s).
grunt.registerTask('default',['uglify', 'sass', 'watch']);
}
module.exports=函数(grunt){
//项目配置。
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
丑陋的:{
选项:{
横幅:'/*!*/\n'
},
建造:{
src:['working/jquery-2.1.0.min.js,working/jquery-ui-1.10.4.custom.min.js','working/jquery.smooth scroll.min.js','working/同位素.pkgd.min.js','working/scripts.js',//输入
dest:'scripts/build/scripts.min.js'//输出
}
},
萨斯:{
地区:{
选项:{
样式:“扩展”
},
文件:{
'style.css':'sass/style.scss'
}
}
}
观察:{
css:{
文件:'***.scss',
任务:['sass'],
选项:{
利弗雷罗德:没错,
}
}
}
});
//加载提供“丑”任务的插件。
grunt.loadNpmTasks(“grunt-contrib-uglify”);
grunt.loadNpmTasks(“grunt-contrib-sass”);
grunt.loadNpmTasks(“grunt-contrib-watch”);
//默认任务。
registerTask('default',['uglify','sass','watch']);
}
在sass
对象后缺少逗号
'style.css': 'sass/style.scss'
}
}
}, // added , here
watch: {
css: {
files: '**/*.scss',
因此,如果您已经使用grunt,请添加类似jshint的任务,以便在IDE不支持它的情况下检查代码。尽管Gruntfile中存在语法错误,但jshint grunt任务将无法帮助您修复它:-)是的,不幸的是,在我的sass监视之后丢失的逗号不是问题。@steveax是的,经典的鸡蛋问题,我没有想到:-),但可以帮助其他文件,然后Grunfile本身