javascript - 当我运行简单任务时,gulp-imagemin jpegtran-bin 不起作用

标签 javascript node.js gulp gulp-imagemin

我想压缩图片并通过管道传输到构建目录,但是运行任务后构建文件夹是空的。这是我的任务:

// Gulp.js configuration
// modules
const gulp = require('gulp')
const newer = require('gulp-newer')
const imagemin = require('gulp-imagemin')

// development mode?
// let devBuild = (process.env.NODE_ENV !== 'production')

// folders
const folder = {
  src: 'src/',
  build: 'build/'
}

gulp.task('images', function () {
  var out = folder.build + 'images/'
  return gulp.src(folder.src + 'images/**/*')
              .pipe(newer(out))
              .pipe(imagemin({optimizationLevel: 5}))
              .pipe(gulp.dest(out))
})

当我尝试运行 gulp images 时出现错误找不到 /node_modules/jpegtran-bin/vendor/jpegtrannode_modules

[10:07:18] Using gulpfile ~/Desktop/MyProjects/project1/gulpfile.js
[10:07:18] Starting 'images'...

events.js:182
      throw er; // Unhandled 'error' event
      ^
Error: spawn /home/toantd/Desktop/MyProjects/project1/node_modules/jpegtran-bin/vendor/jpegtran ENOENT
at exports._errnoException (util.js:1026:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:189:19)
at onErrorNT (internal/child_process.js:366:16)
at _combinedTickCallback (internal/process/next_tick.js:102:11)
at process._tickCallback (internal/process/next_tick.js:161:9)

我也尝试通过一些链接解决这个问题:

Reinstall node modules

Npm rebuild

这是我的项目结构:

.
├── build
│   ├── css
│   ├── html
│   ├── images
│   └── js
├── gulpfile.js
├── package.json
├── src
│   ├── html
│   ├── images
│   │   ├── bg.jpg
│   │   └── my-logo.png
│   ├── js
│   └── scss
└── yarn.lock

注意到我在公司代理下工作,但我确信我已经为 npm 和 git 设置了代理。

谁能帮帮我?提前谢谢你。

最佳答案

我遇到了类似的问题。我的 vendor 文件夹存在,但其中没有 exe。这可能不是您的确切问题。我的解决方案是在此包上运行重建。

npm rebuild jpegtran-bin

不过,我首先想知道是什么原因导致了这个问题。似乎是缺乏对包本身的支持。

关于javascript - 当我运行简单任务时,gulp-imagemin jpegtran-bin 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44298119/

相关文章:

javascript - 如何批量删除HTML5本地存储?

node.js - 如何将 Angular 6 应用程序部署到 azure node.js 空 web 应用程序

node.js - 过程或函数 insert_azienda 指定了太多参数 (Node.js)

node.js - 如何将 ExpressJS 服务器与 Angular2 集成

javascript - 如何使用 gulp 在一项任务中运行 uglify 然后进行 strip-debug

javascript - Gulp 和 FTP : How to transfer only the content of a folder?

html - 如何使用 GULP JADE 缩进 HTML 输出

javascript - 去除无样式内容的闪现 (FOUC)

javascript - 如何让 PHP 验证回退?

javascript - 如何在 p5.js 中启用右键单击?