首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在gulp中动态设置目标路径?

如何在gulp中动态设置目标路径?
EN

Stack Overflow用户
提问于 2021-02-12 23:00:20
回答 1查看 31关注 0票数 0

我有一个简单的吞咽任务,它将文件夹树从node-modules移动到特定的目标,保持文件夹结构如下:

代码语言:javascript
复制
function libraries(){

    let libPaths = [
        './node_modules/jquery/dist/**/*.*', // Note: copying the ``dist`` folder
        './node_modules/bootstrap-icons/**/*.*' // Note: copying the module
    ]

    return gulp.src(libPaths, {base: './node_modules/'})
        .pipe(gulp.dest(
                (vinyl) => {
                    // Something here?
                    return '/destination/'
                }
            )
        );
    }

结果:

代码语言:javascript
复制
destination
├── bootstrap-icons
│   ├── LICENSE.md
│   ├── README.md
│   ├── bootstrap-icons.svg
│   ├── font
│   ├── icons
│   └── package.json
└── jquery
    └── dist            // <- problem
        ├── jquery.js
        ├── jquery.min.js
        ├── jquery.min.map
        ├── jquery.slim.js
        ├── jquery.slim.min.js
        └── jquery.slim.min.map

期望:

代码语言:javascript
复制
destination
├── bootstrap-icons
│   ├── LICENSE.md
│   ├── README.md
│   ├── bootstrap-icons.svg
│   ├── font
│   ├── icons
│   └── package.json
└── jquery
    ├── jquery.js
    ├── jquery.min.js
    ├── jquery.min.map
    ├── jquery.slim.js
    ├── jquery.slim.min.js
    └── jquery.slim.min.map

如何检测源文件何时在dist/内,例如./node_modules/jquery/dist/jquery.js,以便将目标输出设置为/destination/jquery/jquery.js --而不是在/destination/jquery/dist/jquery.js内。

EN

回答 1

Stack Overflow用户

发布于 2021-02-15 15:47:11

我让它像这样工作:

代码语言:javascript
复制
function libraries(){

    let libPaths = [
        './node_modules/jquery/dist/**/*.*', // Note: copying the ``dist`` folder
        './node_modules/bootstrap-icons/**/*.*' // Note: copying the module
    ]

    return gulp.src(libPaths, {base: './node_modules/'})
        .pipe(gulp.dest(
                (vinyl) => {
                    vinyl.path = path.join(
                        vinyl.cwd, vinyl.base,
                        vinyl.relative.replace('dist\\', ''));
                    return '/destination/'
                }
            )
        );
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66174089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档