如何更改一个组件的 bower-installer 路径
How to change bower-installer path for one component
我正在使用 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 在他们的 bower.json
main
file array which is not supported...
中使用了 glob 模式
Globs like js/*.js
are not allowed.
您应该执行以下操作...
在您的 bower.json
文件中覆盖 slick.js 所需的文件(参见 Install multiple main files and Configurable paths)
"install": {
"base": "bower_dist",
"path": {
"js": "{name}",
"css": "{name}",
"eot": "{name}/fonts",
"svg": "{name}/fonts",
"ttf": "{name}/fonts",
"woff": "{name}/fonts"
},
"sources": {
"slick.js": [
"bower_components/slick.js/slick/slick.min.js",
"bower_components/slick.js/slick/slick.css",
"bower_components/slick.js/slick/slick-theme.css",
"bower_components/slick.js/slick/fonts/slick.eot",
"bower_components/slick.js/slick/fonts/slick.svg",
"bower_components/slick.js/slick/fonts/slick.ttf",
"bower_components/slick.js/slick/fonts/slick.woff"
]
}
}
用 bower_components
代替你的 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 的新版本,现在它在 bower 中称为 slick-carousel - 只是为了解释包名称的差异。
我正在使用 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 在他们的 bower.json
main
file array which is not supported...
Globs like
js/*.js
are not allowed.
您应该执行以下操作...
在您的
bower.json
文件中覆盖 slick.js 所需的文件(参见 Install multiple main files and Configurable paths)"install": { "base": "bower_dist", "path": { "js": "{name}", "css": "{name}", "eot": "{name}/fonts", "svg": "{name}/fonts", "ttf": "{name}/fonts", "woff": "{name}/fonts" }, "sources": { "slick.js": [ "bower_components/slick.js/slick/slick.min.js", "bower_components/slick.js/slick/slick.css", "bower_components/slick.js/slick/slick-theme.css", "bower_components/slick.js/slick/fonts/slick.eot", "bower_components/slick.js/slick/fonts/slick.svg", "bower_components/slick.js/slick/fonts/slick.ttf", "bower_components/slick.js/slick/fonts/slick.woff" ] } }
用
bower_components
代替你的 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 的新版本,现在它在 bower 中称为 slick-carousel - 只是为了解释包名称的差异。