这是我的gulpfile
const gulp = require('gulp');
const runSequence = require('run-sequence');
const gulpCopy = require('gulp-copy');
//move client side library from client-lib to public folder
gulp.task('move-file',function(){
console.log("Move-files");
return gulp
.src(['./client-lib/*.js'])
.pipe(gulpCopy('./public'))
});
gulp.task('default',function(){
runSequence('move-file');
});
我需要复制client-lib文件夹中的所有js文件并复制到公用文件夹。但是这个包含文件夹和公共文件夹的代码副本看起来像
公共 - >客户lib-> myjsfiles
但我需要
公共 - > myjsfiles
答案 0 :(得分:0)
您不需要使用任何NPM,
remove `const gulpCopy = require('gulp-copy');` ,
并从任务中gulpCopy这个命令。
然后尝试
gulp.task('move-file',function(){
gulp .src('client-lib/*.js') .pipe(rename({dirname: ''}))
.pipe(gulp.dest('./public'))
});
答案 1 :(得分:0)
您可以使用名为gulp-rename
的库,这是一个简单的示例:
var gulp = require('gulp');
var rename = require('gulp-rename');
gulp.task('html', function(){
return gulp.src('app/client/**/*.html')
.pipe(rename({dirname: ''}))
.pipe(gulp.dest('./dist'));
});
更多答案:
Can you remove a folder structure when copying files in gulp?
答案 2 :(得分:0)
gulp.task('move-file',function(){
console.log("Move-files");
return gulp
.src(['./client-lib/*.js'])
.pipe(gulpCopy('./public', { prefix: 1 }))
})
以下是说明:https://www.npmjs.com/package/gulp-copy#options
gulp-copy
有一个options
对象,您可以在其中使用prefix
值。如果将其设置为1,它将删除路径的“ /”分隔的1部分。在您的情况下,1就足够了。如果要删除所有目录,请使用99。