gulpを使用して自分のベンダーファイルを自分のdevフォルダにコピーしようとしています。私が開発モードに入っていたとき、未対応のファイルがコピーされていない場合は、未対応のファイルのみをコピーします。生産モードでは、ファイルが存在しない場合は、ミニファイル化されたファイルをコピーして、通常のファイルを縮小します。指定したファイルをgulpを使用して条件付きでコピーします
私のフォルダ構造
js
app.js
jquery
jquery.min.js
jquery.js
fontawesome
fontawesome.min.js
fontawesome.min.css
fonts.ttf...
ここに私が書いた私の基本。
var scriptsPath = '../vendor/';
function getFolders(dir) {
return fs.readdirSync(dir)
.filter(function(file) {
return fs.statSync(path.join(dir, file)).isDirectory();
});
}
gulp.task('vendor', function() {
var folders = getFolders(scriptsPath);
var cssFilter = $.filter('**/*.css')
var tasks = folders.map(function(folder) {
var jsFilter;
if (isProduction) {
jsFilter = $.filter('**/*.min.js');
} else {
jsFilter = $.filter(['**/*.js', '!**/*.min.js']);
}
return gulp.src(path.join(scriptsPath, '**/'))
.pipe(jsFilter)
.pipe($.if(useSourceMaps, $.sourcemaps.init()))
.pipe($.if(isProduction, $.uglify({preserveComments: 'some'})))
.on('error', handleError)
.pipe(jsFilter.restore())
.pipe(cssFilter)
.pipe($.if(isProduction, $.minifyCss()))
.on('error', handleError)
.pipe(cssFilter.restore())
.on('error', handleError)
.pipe(gulp.dest(build.vendor.js));
});
return es.concat.apply(null, tasks);
});
私は&一気-かのいくつかのメソッドを使用して、最後の2日間しようとしています。しかし、まだ解決策を得ることはできません。事前に感謝します。
ありがとうございます。正常に動作します。 – Sathish