2014-11-22 91 views
7

因此,浏览器在运行时通过JavaScript来处理所有事情,甚至是CSS的东西。 但我如何处理字体,如npm和browserify的字体真棒。如何使用带字体的browserify

在这里确实存在一个npm pacakge:https://www.npmjs.org/package/font-awesome 但是,如何在不使用其他工具如grunt或gulp的情况下为我的浏览器捆绑字体。

//编辑

如果我想在我的HTML到现在使用FA类,是有另一种方式不是指着我的HTML文件中的node_modules/font-awesome/css/font-awesome.css

我正在寻找一个自动化的解决方案,因为如果我有像font-awesome这样的多个库,并且他们自带资产(如字体,图像和其他文件),我不想指向每个资产文件我的html文件。

用玉我可以在public服务一些文件。而public包含所有通过我的远程依赖关系来的资产,如字体,图像...... 但是如何自动将所有文件从特定的node_modules复制或符号链接到public

+0

你是什么意思“捆绑”。 'npm install font-awesome'会在node_modules目录中安装所有的字体,并且可以简单地将您的应用程序设置为'。/ node_modules/fontawesome'作为从中获取资源的静态目录。你的问题确实需要更多的细节,比如你用来托管你的应用/网站/任何东西。另外,为什么需要grunt/gulp甚至是远程问题?你显然已经在使用node和browserify,加入Grunt/Gulp只是一种体面的做法。 – 2014-11-28 23:10:25

+0

谢谢,更新了我的问题 – timaschew 2014-12-01 14:36:06

+0

您是否在使用其他任何东西,还是只是一个普通的.html文件和npm安装的fontawesome? (例如,你使用快递吗?你使用的是jekyll等?) – 2014-12-03 15:58:46

回答

2

我知道一个简单的方法来做到这一点。以Base64格式使用您的字体。这样,字体数据就在CSS本身中,而不是在外部文件中。然后,只需将您的CSS加载到Browserify中,以常用的方式(使用“insert-css”或“cssy”等模块),因为我使用Stylus,因此使用“stylify”,因为它可以管理CSS定义,自带字体数据。

预先压缩Base64代码也是一个好主意。或者让Uglify最终做压缩。比较结果。

请仔细检查您的目标浏览器是否支持Base64字体。