复制gulp失败,无法复制.htaccess(一个点文件)

3
在 gulp 任务中,我尝试复制构建文件夹中的文件。
gulp.task( addon, function() {
    var a_addon_function = addon.split("_") ;
    var addon_dirname = a_addon_function[1];
    var dest_path = ( options.env === "tests" || ( options.env === "dist" && options.type === "premium" ) ) ? build_path + addon_dirname + "/" + addon_dirname : build_path + addon_dirname;
    return gulp.src( [ "./plugins/addons/" + addon_dirname + "/**/*", "./plugins/_common/**/*", "./plugins/addons/_common/**/*" ] )
       .pipe( gulp.dest( dest_path ) 
    );
});
文件.htaccess从未被复制。为什么?如何解决?
2个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
6

点号

如果文件或目录路径部分以点号(.)开头,则它将不匹配任何glob模式,除非该模式的相应路径部分也以点号作为其第一个字符。

例如,模式a/.*/c将匹配a/.b/c中的文件。但是模式a/*/c将不会匹配,因为*不以点号字符开头。您可以通过在选项中设置dot:true使glob将点号视为普通字符。

设置选项:

gulp.src('...…….', { dot: true }) 

这样点号就会像任何其他字符一样被处理。然后你应该可以使用原始的gulp.src。

引自node-glob文档


0

如果我添加了文件的直接路径./plugins/_common/.htaccess,Gulp会复制.htaccess文件。

 gulp.task( addon, function() {
    var a_addon_function = addon.split("_") ;
    var addon_dirname = a_addon_function[1];
    var dest_path = ( options.env === "tests" || ( options.env === "dist" && options.type === "premium" ) ) ? build_path + addon_dirname + "/" + addon_dirname : build_path + addon_dirname;
    return gulp.src( [ "./plugins/addons/" + addon_dirname + "/**/*", "./plugins/_common/**/*", "./plugins/_common/.htaccess", "./plugins/addons/_common/**/*" ] )
       .pipe( gulp.dest( dest_path ) 
   );
});
也许它没有被复制,因为“.htaccess”没有扩展文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,