Grunt.js 和 imagemin - 找不到“imagemin”目标
Posted
技术标签:
【中文标题】Grunt.js 和 imagemin - 找不到“imagemin”目标【英文标题】:Grunt.js and imagemin - No "imagemin" targets found 【发布时间】:2013-12-11 12:19:50 【问题描述】:我正在尝试自学 Grunt.js 的基础知识,但我发现它并不直观。
我已经完成了工作 - 我可以查看目录、缩小 JS 并编译我的 compass / sass 文件。
我现在遇到的问题是使用以下方法缩小图像:https://npmjs.org/package/grunt-contrib-imagemin
我在运行 $ grunt 时不断收到以下错误:
No "imagemin" targets found
我在这里有我的 gruntfile:https://github.com/Tjobbe/sample-grunt-project/blob/master/gruntfile.js 和我的 git repo:https://github.com/Tjobbe/sample-grunt-project,所以你可以看到我的目录设置。
知道为什么这不起作用吗?理想情况下,我希望它不断轮询目录以查看是否有任何新文件,然后将它们缩小并将它们放入 src/img/ 目录中。
【问题讨论】:
【参考方案1】:您的imagemin
是您的watch
任务的子任务。如果你把它拿出来,它会起作用的。
这是 Gruntfile.js 的一部分
watch:
compass:
files: ['dev/sass/*.sass'],
tasks: ['compass:dev']
,
js:
files: ['dev/js/*.js'],
tasks: ['uglify']
,
compass:
dev:
options:
sassDir: ['dev/sass/'],
cssDir: ['src/css/'],
environment: 'development'
,
prod:
options:
sassDir: ['dev/sass/'],
cssDir: ['src/css/'],
environment: 'production'
,
,
imagemin:
dynamic:
files: [
expand: true,
cwd: 'dev/img/',
src: ['dev/img/*.png,jpg,gif'],
dest: 'src/img/'
]
,
uglify:
all:
files:
'src/js/min.js': [
'dev/js/*.js']
// 'js/*.js']
,
,
);
【讨论】:
你是对的,确实如此!谢谢你。我想我也明白了,那很好,我学到了一些东西;o)【参考方案2】:imagemin 是 watch 的一个子任务。至此,您需要像这样称呼它watch:imagemin
和你使用 compass:dev 的方法一样
【讨论】:
以上是关于Grunt.js 和 imagemin - 找不到“imagemin”目标的主要内容,如果未能解决你的问题,请参考以下文章