[解決済み】Gulpのタスクからファイルやディレクトリを除外する方法
2022-04-02 16:02:54
質問
私は、私のカスタム.JSファイル(ベンダー以外のライブラリ)をすべて連結してUGL化するgulp rjsタスクを持っています。
このタスクからいくつかのファイルやディレクトリを除外したいのですが(コントローラやディレクティブ)。
以下は私のツリーです。
- application
- resources
- js
main.js
- vendor
- jquery
- modernzr
- angular
- controllers
- controller1
- controller2
- controller3
- directives
- directives1
- directives2
- directives3
- widgets
- widget1
- widget2
- widget3
- widget4
- modules
- modules1
- modules2
- modules3
- modules4
私のgulp.jsはこちら
dir = {
app: 'application',
dest: 'dest',
};
config = {
src: {
js: dir.app + '/resources/js'
},
dest: {
js: dir.dest + '/resources/js'
}
};
gulp.task('rjs', function() {
rjs({
baseUrl: config.src.js,
out: 'main.js',
name: 'main',
mainConfigFile: config.src.js + '/main.js',
exclude: [ 'jquery', 'angular']
})
.pipe(prod ? uglify({ mangle: false, outSourceMap: true, compress: { drop_console: true } }) : gutil.noop())
.pipe(gulp.dest(config.dest.js))
.pipe(filesize())
.pipe(dev ? connect.reload() : gutil.noop());
});
解決方法は?
クイックアンサー
src では、常に "!" を使って無視するファイルを指定することができます。
例(jsフォルダとサブフォルダ内のすべての*.min.jsファイルを除外したい場合。
gulp.src(['js/**/*.js', '!js/**/*.min.js'])
個々のファイルに対しても同様に行えます。
回答を拡大しました。
<ブロッククオートgulp.src(globs[, options])
指定されたグロブまたはグロブの配列にマッチするファイルを出力します。プラグインにパイプすることができるビニールファイルのストリームを返します。
グロブとは ノードグロブ構文 または、直接のファイルパスである。
ということは ノードグロブ ドキュメント は、マッチングにminimatchライブラリを使用していることがわかります。
について ミニマッチドキュメント は、以下のように指摘されています。
で始まるパターンは、否定されます。
そして、そのために 記号を使用すると、gulpタスクからファイル/ディレクトリを除外することができます。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン