我正在使用 font-awesome 和 HarpJS 开发一个项目。我只是使用预编译的 CSS 版本的 font-awesome,但由于我使用的是 bower,它甚至会将 LESS 文件下载到我的组件文件夹中。
问题是,当我需要将我的资产编译到 dist 文件夹时harp compile
,它给了我这个错误:
{
"source": "Less",
"dest": "CSS",
"filename": "/Users/***/lib/fontawesome/less/bordered-pulled.less",
"lineno": 4,
"name": "NameError",
"message": "variable @fa-css-prefix is undefined",
"stack": "// Bordered & Pulled\n// -------------------------\n\n.@{fa-css-prefix}-border {\n padding: .2em .25em .15em;\n border: solid .08em @fa-border-color;\n border-radius: .1em;\n}\n\n.pull-right { float: right; }\n.pull-left { float: left; }\n\n.@{fa-css-prefix} {\n &.pull-left { margin-right: .3em; }\n &.pull-right { margin-left: .3em; }\n}\n"
}
发生此错误是因为 HarpJS 正在尝试编译 font-awesome 的 bower 包附带的 LESS 文件。经过一番研究,我找到了这个答案,它指向了字体真棒文档的页面,上面写着:
页面: http: //fontawesome.io/get-started/#custom-less
打开项目的font-awesome/less/variables.less
orfont-awesome/scss/_variables.scss
并编辑@fa-font-path
or$fa-font-path
变量以指向您的字体目录。
例子:
@fa-font-path: "../font";
但是我无法编辑任何这样的文件,因为我的依赖项是使用 bower 安装的,并且我没有在 repo 中检查它们。即使我确实签入了它们,一旦有人使用bower install
来获取 font-awesome 的更新版本,该更改也会被覆盖。
对于这种情况,您会使用什么解决方法?
提示:您可以通过执行以下操作来重现此内容:
$ mkdir test
$ cd test
$ bower init
$ bower install --save font-awesome
$ harp compile . dist