Javascript 如何更改一个组件的bower安装程序路径

Javascript 如何更改一个组件的bower安装程序路径,javascript,node.js,bower,bower-install,Javascript,Node.js,Bower,Bower Install,我正在使用bower installer将所需文件从bower_components文件夹复制到bower_dist文件夹。以下是bower.json文件的相关部分: "install": { "path": "bower_dist" }, "dependencies": { "jquery": "~2.1.4", "bootstrap": "~3.3.4", "slick.js": "~1.5.5" }, 现在,这将为每个组件创建bower_dist文件夹和其

我正在使用bower installer将所需文件从bower_components文件夹复制到bower_dist文件夹。以下是bower.json文件的相关部分:

"install": {
    "path": "bower_dist"
},
"dependencies": {
    "jquery": "~2.1.4",
    "bootstrap": "~3.3.4",
    "slick.js": "~1.5.5"
},
现在,这将为每个组件创建bower_dist文件夹和其中的文件夹。问题是,在slick.js组件中,我需要在
/slick.js/fonts
文件夹(而不仅仅是
/slick.js/
文件夹)中保存的文件(eot、svg、ttf、woff)很少


我该怎么做?我曾尝试为eot、svg、ttf和woff指定特例,但随后这将应用于所有组件。另外,我不想介绍指定所有文件类型(js、css等)的需要。。。相反,我只想为slick.js配置特殊的字体类型。这可能吗?

这里的问题似乎是slick.js在其
文件数组中使用了一个glob模式,它是

js/*.js这样的glob是不允许的

你应该做以下事情

  • bower.json
    文件中覆盖slick.js所需的文件(请参阅和)

    bower\u组件
    替换您的bower安装目录

  • 跟着


  • 事实证明,这比我想象的更难:

    "install": {
        "path": "bower_dist",
        "sources": {
            "slick-carousel": {
                "mapping": [
                    { "bower_components/slick-carousel/slick/slick.min.js": "slick.min.js" },
                    { "bower_components/slick-carousel/slick/slick.css": "slick.css" },
                    { "bower_components/slick-carousel/slick/slick-theme.css": "slick-theme.css" },
                    { "bower_components/slick-carousel/slick/ajax-loader.gif": "ajax-loader.gif" },
                    { "bower_components/slick-carousel/slick/fonts/slick.eot": "fonts/slick.eot" },
                    { "bower_components/slick-carousel/slick/fonts/slick.svg": "fonts/slick.svg" },
                    { "bower_components/slick-carousel/slick/fonts/slick.ttf": "fonts/slick.ttf" },
                    { "bower_components/slick-carousel/slick/fonts/slick.woff": "fonts/slick.woff" }
                ]
            }
        }
    },
    

    我已经升级到了slick.js的新版本,现在它被称为slick carousel in bower-只是为了解释包名的不同。

    只要我添加“sources”:{“slick.js”:…command bower installer停止发布slick.js。你确定这是正确的格式吗?我也尝试过从slick.js中修改bower.json,就像你在pull request中所做的那样,但仍然不起作用-它没有创建正确的文件夹结构。@kape123我只是按照bower installer文档进行操作。看起来你需要在文件路径与您的bower安装目录。我将用一个示例更新我的答案是的,当我这样放置时,它会复制文件。但它再次将所有文件放在同一个目录-/bower\u dist/slick.js/…它不会为字体创建字体目录;(@kape123那么我猜你需要使用那些会弄乱所有组件的工具,这并不是我在问题中所说的我想要的。既然你帮了我,我会给你赏金,但我会自己添加正确的答案。谢谢你的帮助!
    "install": {
        "path": "bower_dist",
        "sources": {
            "slick-carousel": {
                "mapping": [
                    { "bower_components/slick-carousel/slick/slick.min.js": "slick.min.js" },
                    { "bower_components/slick-carousel/slick/slick.css": "slick.css" },
                    { "bower_components/slick-carousel/slick/slick-theme.css": "slick-theme.css" },
                    { "bower_components/slick-carousel/slick/ajax-loader.gif": "ajax-loader.gif" },
                    { "bower_components/slick-carousel/slick/fonts/slick.eot": "fonts/slick.eot" },
                    { "bower_components/slick-carousel/slick/fonts/slick.svg": "fonts/slick.svg" },
                    { "bower_components/slick-carousel/slick/fonts/slick.ttf": "fonts/slick.ttf" },
                    { "bower_components/slick-carousel/slick/fonts/slick.woff": "fonts/slick.woff" }
                ]
            }
        }
    },