gulp自适应保持任意目录结构复制
直接上代码了,请根据自己的需要修改
使用说明
在实际使用时需要修改rootPath为项目根目录文件夹名称
const { src, dest, series } = require('gulp')
const path = require('path')
const build_dir = './dist'
const rootPath = 'rootPath' //修改rootPath为项目根目录文件夹名称
function copyToDist () {
return src(['css/**', 'js/**','index.html']).pipe(
dest(function (file) {
console.log(path.dirname(file.path))
let folders = path.dirname(file.path).split('/')
let folder = folders[folders.length - 1]
return folder === rootPath ? build_dir : path.join(build_dir, folder)
})
)
}
exports.default = series(copyToDist)
简单解释一下,这段代码意思是把项目根目录下’index.html’,/css
,/js
中的文件保持目录结构拷贝到/dist
目录中
dist
├── css
│ ├── a.css
│ └── b.css
├── js
│ ├── jquery.min.js
└── index.html