簡體   English   中英

只用Gulp重命名文件而不是目錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM