Grunt imagemin error: Cannot read property 'contents' of undefined
Grunt imagemin error: Cannot read property 'contents' of undefined
G运行t imagemin 在我尝试 运行 时抛出以下错误:
Running "imagemin:dynamic" (imagemin) task
Fatal error: Cannot read property 'contents' of undefined
这是我的 package.json 文件:
{
"name": "project1",
"version": "0.1.0",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-imagemin": "^1.0.0",
"grunt-contrib-uglify": "^0.11.0",
"imagemin" : "4.0.0"
}
}
这是我的 Gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
build: {
src: 'views/js/src/main.js',
dest: 'views/js/build/main.js'
}
},
imagemin: {
dynamic: {
files: [{
expand: true,
cwd: 'views/images/src/',
src: ['**/*.{png,jpg,gif}'],
dest: 'views/images/build/'
}]
}
}
});
// 3. Where we tell Grunt we plan to use this plug-in.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-imagemin');
// 4. Where we tell Grunt what to do when we type "grunt" into the terminal.
grunt.registerTask('default', ['uglify', 'imagemin']);
};
此问题是 flagged and evidently resolved 以前版本的 imagemin 中的问题。但是商定的解决方案是将 g运行t-contrib-imagemin 更新到版本 1.0.0 并将 imagemin 更新到 4.0.0,我已经完成了,但仍然无法正常工作。
我通过将 package.json 中的 grunt-contrib-imagemin 更改为 grunt-contrib-imagemin": "0.9.1"
解决了这个问题
GitHub 解决方案 (https://github.com/gruntjs/grunt-contrib-imagemin/issues/344) 不是降级 grunt-contrib-imagemin
,而是在 package.json.
中添加 "vinyl-fs": "2.2.1"
vinyl-fs
似乎在依赖树中的任何地方。但是 vinyl-fs
从 2.2.1 到 2.3.0 有一个重大的版本更改,这将阻止构建过程。所以版本应该是"forced"到2.2.1.
我的工作是将 grunt-contrib-imagemin
更新到版本 ^1.0.0
并添加依赖项 imagemin
版本 ^4.0.0
和 vinyl-fs
版本 ^2.1.1
只需将 gurnt-contrib-imagemin 更新到 1.0.0 或最新版本,您的旧版本可能是 0。9.x
G运行t imagemin 在我尝试 运行 时抛出以下错误:
Running "imagemin:dynamic" (imagemin) task
Fatal error: Cannot read property 'contents' of undefined
这是我的 package.json 文件:
{
"name": "project1",
"version": "0.1.0",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-imagemin": "^1.0.0",
"grunt-contrib-uglify": "^0.11.0",
"imagemin" : "4.0.0"
}
}
这是我的 Gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
build: {
src: 'views/js/src/main.js',
dest: 'views/js/build/main.js'
}
},
imagemin: {
dynamic: {
files: [{
expand: true,
cwd: 'views/images/src/',
src: ['**/*.{png,jpg,gif}'],
dest: 'views/images/build/'
}]
}
}
});
// 3. Where we tell Grunt we plan to use this plug-in.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-imagemin');
// 4. Where we tell Grunt what to do when we type "grunt" into the terminal.
grunt.registerTask('default', ['uglify', 'imagemin']);
};
此问题是 flagged and evidently resolved 以前版本的 imagemin 中的问题。但是商定的解决方案是将 g运行t-contrib-imagemin 更新到版本 1.0.0 并将 imagemin 更新到 4.0.0,我已经完成了,但仍然无法正常工作。
我通过将 package.json 中的 grunt-contrib-imagemin 更改为 grunt-contrib-imagemin": "0.9.1"
GitHub 解决方案 (https://github.com/gruntjs/grunt-contrib-imagemin/issues/344) 不是降级 grunt-contrib-imagemin
,而是在 package.json.
"vinyl-fs": "2.2.1"
vinyl-fs
似乎在依赖树中的任何地方。但是 vinyl-fs
从 2.2.1 到 2.3.0 有一个重大的版本更改,这将阻止构建过程。所以版本应该是"forced"到2.2.1.
我的工作是将 grunt-contrib-imagemin
更新到版本 ^1.0.0
并添加依赖项 imagemin
版本 ^4.0.0
和 vinyl-fs
版本 ^2.1.1
只需将 gurnt-contrib-imagemin 更新到 1.0.0 或最新版本,您的旧版本可能是 0。9.x