Javascript 吞咽复制目录中的所有文件,而不复制目录
这是我的gulpfileJavascript 吞咽复制目录中的所有文件,而不复制目录,javascript,gulp,Javascript,Gulp,这是我的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"
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');
});
我需要复制客户端库文件夹内的所有js文件并复制到公用文件夹。但是这个带有文件夹和我的公用文件夹的代码副本看起来像
public->client lib->myjsfiles
但我需要
公共->myjsfiles
您不需要为此使用任何NPM,
remove `const gulpCopy = require('gulp-copy');` ,
并从task中复制此命令
只要试一下
gulp.task('move-file',function(){
gulp .src('client-lib/*.js') .pipe(rename({dirname: ''}))
.pipe(gulp.dest('./public'))
});
您可以使用名为
gulprename
的库,下面是一个简单的示例:
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'));
});
更多答案:以下是解释:
gulpcopy
有一个options
对象,您可以在其中使用前缀
值。如果将其设置为1,它将删除路径中由“/”分隔的1个部分。在你的情况下,1就足够了。如果要删除所有目录,请使用99。您可以在此处找到好的解决方案:您可以使用该选项。给它一个值,例如99,以删除所有路径。可能重复我尝试接受的答案,但在我的情况下不起作用@dabbas如果我需要用1-3mib代码复制我的包怎么办?大口大口地读它,它会让任务慢下来很长一段时间。
gulp.task('move-file',function(){
console.log("Move-files");
return gulp
.src(['./client-lib/*.js'])
.pipe(gulpCopy('./public', { prefix: 1 }))
})