【问题标题】:Copy .htaccess (a dotfile) with gulp failed使用 gulp 复制 .​​htaccess(点文件)失败
【发布时间】:2019-05-25 12:08:11
【问题描述】:

在 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 永远不会被复制。为什么 ?如何解决?

【问题讨论】:

    标签: .htaccess gulp file-copying


    【解决方案1】:

    如果文件或目录路径部分具有 .作为第一个角色, 那么它将不匹配任何 glob 模式,除非该模式 对应的路径部分也有一个 .作为它的第一个字符。

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

    设置选项:

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

    以便点被视为任何其他字符。你应该可以使用你原来的 gulp.src 了。

    来自node-glob documentation

    【讨论】:

      【解决方案2】:

      如果我将直接路径添加到此文件,则 Gulp 复制 .htaccess 文件:./plugins/_common/.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没有得到扩展文件,所以没有被复制。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多