首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:无法加载默认插件xxx

:无法加载默认插件xxx
EN

Stack Overflow用户
提问于 2017-02-10 05:16:14
回答 2查看 10.7K关注 0票数 3

环境保护局:

  • windows 7
  • 节点6.9.5

我像这个国家预防机制一样使用插件。但我犯了个错误。从某些视频来看,这是正确的。相对于imagemin的版本吗?

代码语言:javascript
复制
// gulpfile.js

var gulp = require('gulp');
var imagemin = require('gulp-imagemin');

var app = {
  srcPath: 'src/',
  devPath: 'build/',
  prdPath: 'dist/', //生产部署
}
gulp.task('image', function() {
  gulp.src(app.srcPath + 'image/**/*')
  .pipe(gulp.dest(app.devPath + 'image'))
  .pipe(imagemin())
  .pipe(gulp.dest(app.prdPath + 'image'))
})

当我“吞下图像”时,得到了一个错误:

代码语言:javascript
复制
[13:05:56] Using gulpfile ~\Desktop\study\angularapp\gulpfile.js
[13:05:56] Starting 'image'...
[13:05:56] Finished 'image' after 6.96 ms
[13:05:56] gulp-imagemin: Couldn't load default plugin "gifsicle"
[13:05:56] gulp-imagemin: Couldn't load default plugin "jpegtran"
[13:05:56] gulp-imagemin: Couldn't load default plugin "optipng"
[13:05:56] gulp-imagemin: Minified 1 image (saved 0 B - 0%)

我使用npm install imagemin-optipng,但仍然不能工作。像这样的依赖关系:

代码语言:javascript
复制
"devDependencies": {
"clean-css": "^4.0.5",
"gulp": "^3.9.1",
"gulp-clean": "^0.3.2",
"gulp-concat": "^2.6.1",
"gulp-connect": "^5.0.0",
"gulp-cssmin": "^0.1.7",
"gulp-imagemin": "^3.1.1",
"gulp-less": "^3.3.0",
"gulp-load-plugins": "^1.5.0",
"gulp-uglify": "^2.0.1",
"lodash": "^4.17.4",
"open": "^0.0.5"

}

发生什么事了?

EN

回答 2

Stack Overflow用户

发布于 2017-07-26 05:13:34

我有同样的问题,我发现这是因为默认插件没有正确安装。

代码语言:javascript
复制
npm install imagemin-jpegtran imagemin-svgo imagemin-gifsicle imagemin-optipng --save

此警告由以下代码#L12抛出

代码语言:javascript
复制
const loadPlugin = (plugin, args) => {
  try {
    return require(`imagemin-${plugin}`).apply(null, args);
  } catch (err) {
    gutil.log(`gulp-imagemin: Couldn't load default plugin "${plugin}"`);
  }
};

如果在catch中出现日志错误,我们可以看到Module not found xxx

代码语言:javascript
复制
try {
  return require(`imagemin-${plugin}`).apply(null, args);
} catch (err) {
  console.log(err); // and will throw error: XX Module Not Found
  gutil.log(`gulp-imagemin: Couldn't load default plugin "${plugin}"`);
}

这样我们就可以安装丢失的包裹了。

如果也有错误,只需重新安装imagemin

代码语言:javascript
复制
npm uninstall gulp-imagemin --save
npm install gulp-imagemin --save
票数 6
EN

Stack Overflow用户

发布于 2017-02-18 20:33:01

看起来这是node 6的问题。试着降低您在这个项目中使用的版本。我在6.9.5上得到了gifsicle安装错误,但在6.3.1上没有得到(在两者之间没有尝试过所有版本)。

如果您不熟悉节点版本之间的切换,建议的解决方案是使用nvm

阅读https://github.com/creationix/nvm#installation中的注释(并不支持所有的OSes ),然后运行

代码语言:javascript
复制
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

nvm文档是完整的,但基本上您将运行nvm install YOURVERSIONNUMBER,然后运行nvm use YOURVERSIONNUMBER。(同样值得检查的是:如何使用.nvmrc如何自动加载项目的节点版本。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42152008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档