[英]Gulp-rename files only and not directories
function javascriptSites() {
return gulp.src(PATHS.javascriptSites)
.pipe($.sourcemaps.init())
.pipe($.babel())
.pipe($.if(PRODUCTION, $.uglify()
.on('error', e => { console.log(e); })
))
.pipe($.if(PRODUCTION, $.rename({
suffix: '.min'
})))
.pipe(gulp.dest('dist/assets/js'))
}
這將輸出以下樹:
dir/assets/js/
folder1
site.min.js
folder1.min
empty
folder2
site.min.js
folder2.min
empty
folder3
site.min.js
folder3.min
empty
我只想重命名文件而不是目錄(並且沒有重復的文件夾),但是我不知道如何過濾目錄。 任何幫助表示贊賞!
編輯:為Fabio添加了config.yml文件
# Your project's server will run on localhost:xxxx at this port
PORT: 8000
# Autoprefixer will make sure your CSS works with these browsers
COMPATIBILITY:
- "last 2 versions"
- "ie >= 9"
# UnCSS will use these settings
UNCSS_OPTIONS:
html:
- "src/**/*.html"
ignore:
- !!js/regexp .foundation-mq
- !!js/regexp ^\.is-.*
# Gulp will reference these paths when it copies files
PATHS:
# Paths to static assets that aren't images, CSS, or JavaScript
assets:
- "src/assets/**/*"
- "!src/assets/{img,js,scss}/**/*"
fonts:
- "bower_components/font-awesome/fonts/**/*"
# Paths to Sass libraries, which can then be loaded with @import
sass:
- "bower_components/foundation-sites/scss"
- "bower_components/motion-ui/src"
- "src/assets/scss"
# Paths to JavaScript libraries, which are compined into one file
javascript:
# Libraries requried by Foundation
- "bower_components/jquery/dist/jquery.js"
- "bower_components/what-input/what-input.js"
# Core Foundation files
- "bower_components/foundation-sites/js/foundation.core.js"
- "bower_components/foundation-sites/js/foundation.util.*.js"
# Individual Foundation components
# If you aren't using a component, just remove it from the list
- "bower_components/foundation-sites/js/foundation.abide.js"
- "bower_components/foundation-sites/js/foundation.accordion.js"
- "bower_components/foundation-sites/js/foundation.accordionMenu.js"
- "bower_components/foundation-sites/js/foundation.drilldown.js"
- "bower_components/foundation-sites/js/foundation.dropdown.js"
- "bower_components/foundation-sites/js/foundation.dropdownMenu.js"
- "bower_components/foundation-sites/js/foundation.equalizer.js"
- "bower_components/foundation-sites/js/foundation.interchange.js"
- "bower_components/foundation-sites/js/foundation.magellan.js"
- "bower_components/foundation-sites/js/foundation.offcanvas.js"
- "bower_components/foundation-sites/js/foundation.orbit.js"
- "bower_components/foundation-sites/js/foundation.responsiveMenu.js"
- "bower_components/foundation-sites/js/foundation.responsiveToggle.js"
- "bower_components/foundation-sites/js/foundation.reveal.js"
- "bower_components/foundation-sites/js/foundation.slider.js"
- "bower_components/foundation-sites/js/foundation.sticky.js"
- "bower_components/foundation-sites/js/foundation.tabs.js"
- "bower_components/foundation-sites/js/foundation.toggler.js"
- "bower_components/foundation-sites/js/foundation.tooltip.js"
# Paths to your own project code are here
- "src/assets/js/!(app).js"
- "src/assets/js/app.js"
- "bower_components/owl.carousel/dist/owl.carousel.js"
javascriptSites:
- "src/assets/js/**/*"
- "!src/assets/js/app.js"
問題出在您的.yml文件中。 您將此指定為您的來源:
javascriptSites:
- "src/assets/js/**/*"
- "!src/assets/js/app.js"
現在,對文件夾進行重命名和更改的原因是,您將src/assets/js/
內部的所有內容都傳遞到了gulp管道,而顯然您想要的是僅傳遞所有javascript文件。
為此,您需要將.yml文件更改為此:
javascriptSites:
- "src/assets/js/**/*.js"
- "!src/assets/js/app.js"
請注意,我們在第一行添加了.js ,因此gulp僅提供javascript文件而不提供文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.