Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 吞咽复制目录中的所有文件,而不复制目录_Javascript_Gulp - Fatal编程技术网

Javascript 吞咽复制目录中的所有文件,而不复制目录

Javascript 吞咽复制目录中的所有文件,而不复制目录,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"

这是我的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');
});
我需要复制客户端库文件夹内的所有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 }))        

})