我出于某些网络原因在中国从谷歌网络字体下载了.woff文件.以前我在Github Pages上尝试过@ font-face,但它确实有效.但是这次花了我一个小时的时间来找到被打破的地方.
我使用Node来使用mime提供静态文件,内容类型似乎是application / x-font-woff,我的代码在CoffeeScript中:
exports.read = (url,res) ->
filepath = path.join __dirname,'../',url
if fs.existsSync filepath
file_content = fs.readFileSync filepath,'utf8'
show (mime.lookup url)
res.writeHead 200,'content-type': (mime.lookup url)
res.end file_content
else
res.writeHead 404
res.end()
由于Github Pages上的.woff的内容类型是application / octet-stream,我只是在我的代码中通知该行以使其相同..但它仍然失败:
exports.read = (url,'utf8'
show (mime.lookup url)
# res.writeHead 200,'content-type': (mime.lookup url)
res.end file_content
else
res.writeHead 404
res.end()
最后,我切换到Nginx服务器来提供.woff文件..最后它开始工作了.
但是如何在Node上修复它呢?
在这一行中,fs.readFileSync(filepath,’utf8′)编码设置为’utf8′.它需要是’二进制’.
此外,res.end(file_content)函数需要传递正确的编码.尝试res.end(file_content,’binary’).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。