我想将图像压缩并通过管道传输到build目录,但在运行任务后build文件夹为空。这是我的任务:
// 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中找不到/node_modules/jpegtran-bin/vendor/jpegtran时,我得到了这个错误
[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)我也试着通过一些链接来解决这个问题:
下面是我的项目结构:
.
├── build
│ ├── css
│ ├── html
│ ├── images
│ └── js
├── gulpfile.js
├── package.json
├── src
│ ├── html
│ ├── images
│ │ ├── bg.jpg
│ │ └── my-logo.png
│ ├── js
│ └── scss
└── yarn.lock注意到我在公司代理下工作,但我确定我已经为npm和git设置了代理。
有谁可以帮我?提前谢谢你。
发布于 2017-08-23 22:51:21
我也遇到过类似的问题。我的供应商文件夹存在,但其中没有可执行文件。这可能不是你真正的问题。我的解决方案是在这个包上运行一个重建。
npm rebuild jpegtran-bin我想知道是什么导致了这个问题。似乎缺乏对该方案本身的支持。
发布于 2017-11-25 06:10:57
尝试从npm安装jpegtran-bin
npm install --save jpegtran-binhttps://stackoverflow.com/questions/44298119
复制相似问题