【问题标题】:Gulp rename and base pathGulp 重命名和基本路径
【发布时间】:2015-07-06 23:42:32
【问题描述】:

我正在寻找一种允许修改路径的基本部分的解决方案。 我有一个类似 'app/assets/theme/file.css' 的路径,我使用 'app/**/*.css' 模式获得,我想将其转换为 'dist/assets/theme/file.css' .

现在我正在做类似的事情:

gulp.src(paths.styles)
    .pipe(rename(function(path) {
        path.dirname = paths.dist + path.dirname;
    })

给我 'app/dist/assets/theme/file.css' 而不是 'dist/assets/theme/file.css'。我找不到删除“app/”部分的方法。

我怎样才能获得好的结果(必要时使用重命名或其他插件)?

【问题讨论】:

    标签: javascript gulp gulp-rename


    【解决方案1】:

    gulp.src 中有一个 base 选项可供您使用

    gulp.src(paths.styles, {base: 'app'})
        .pipe(gulp.dest('dist'));
    

    阅读doc了解更多详情。

    【讨论】:

    • 感谢您的回答,我已经阅读了文档,但我想要做的不是移动文件而是检索路径。
    • @ChrisV 那么您可能对我前段时间写的这个答案感兴趣:stackoverflow.com/questions/29614917/…
    【解决方案2】:

    你可以试试 String replace(),像这样:

    gulp.src(paths.styles) .pipe(rename(function(path) { var newPath = paths.dist + path.dirname; path.dirname = newPath.replace('app/'); })

    【讨论】:

    • 感谢您的回答马特,但我实际上是在寻找可以处理“全局字符串”的更通用的东西,因为我的示例只是对我想要做的事情的简化。
    猜你喜欢
    • 2013-01-29
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 2015-03-04
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    相关资源
    最近更新 更多