【问题标题】:Ignore package target path when using grunt-bower使用 grunt-bower 时忽略包目标路径
【发布时间】:2014-12-22 19:22:39
【问题描述】:

我正在为一个项目尝试 grunt/bower,我有以下内容结构:

content 
    css
    js

我已经让 grunt/bower 处理我自己的文件,但我现在正在尝试合并 jquery,并且 bower 任务不断将 jquery 放在 content/js/dist/jquery.js 中,我宁愿拥有 content/js/jquery.js。换句话说,我想在复制文件时剥离/忽略 dist 文件夹。到目前为止,我的任务是这样的:

    bower: {
        install: {},
        dev: {
            dest: 'Content',
            js_dest: 'Content/js',
            less_dest: 'Content/css',
            css_dest: 'Content/css',
            options: {
                packageSpecific: {
                    "jquery": {
                        dest: 'Content/js'
                    }
                }
            }
        }
    },

如何告诉 bower 任务将 jquery 包文件中的 dist/jquery.js 复制到我的应用中的特定路径 content/js/jquery.js

【问题讨论】:

  • 我不认为你可以用 Bower 做到这一点,因为 jQuery bower 包文件指定了要复制的文件:"main": "dist/jquery.js"。换句话说,他们的包指定了最终的文件夹位置。如果您愿意,可以在之后添加Grunt copy task

标签: gruntjs bower


【解决方案1】:

您可以使用 keepExpandedHierarchy 选项(扁平输出结构)来实现此行为。你可以为jquery设置专门的:

bower: {
    install: {},
    dev: {
        dest: 'Content',
        js_dest: 'Content/js',
        less_dest: 'Content/css',
        css_dest: 'Content/css',
        options: {
            packageSpecific: {
                'jquery': {
                  keepExpandedHierarchy: false
                }
            }
        }
    }
}

运行 grunt bower 时,jquery.js 文件被复制到 Content\js\jquery.js:

>grunt bower
Running "bower:install" (bower) task

Running "bower:dev" (bower) task
Content\js\jquery.js copied.

Done, without errors.

【讨论】:

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