7

イメージ フォルダーに、サード パーティのライブラリ (bower によって管理される - javascript が必要) によって提供される外部イメージを含む別のフォルダーを指すシンボリック リンクがあります。ビルド プロセスの一環として、すべての画像を次のように圧縮します。

gulp.task('images', function() {
return gulp.src('static/img/**/*')
    .pipe(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))
    .pipe(gulp.dest('dist/img'))
});

gulp が img フォルダ内のシンボリック リンク フォルダに到達すると、返されます。

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: EISDIR, read

gulp-debug を使用すると、symlink フォルダーでボークすることが示されます。私は Mac OSX を使用しており、シンボリック リンクは ln -s を使用して作成されました。何か案は?

4

3 に答える 3

7

gulp.src()シンボリックリンクをクロールしないnode-globを使用します。

**「globstar」がパス部分に単独である場合、一致を検索するゼロ以上のディレクトリおよびサブディレクトリに一致します。シンボリック リンクされたディレクトリはクロールしません。

シンボリック リンクされたディレクトリは の一部としてクロールされないことに注意してください**。ただし、その内容はパターンの後続の部分と一致する場合があります。これにより、無限ループや重複などを防ぐことができます。

エラーになるのか、単にスキップするのかわかりません。

于 2015-01-23T17:54:16.583 に答える