我使用无服务器框架将我的 Vuetify 版本部署到 AWS lambda 函数/API 网关。一切都在本地正确渲染
npx serve -s dist
但是,当我使用 Express 通过 lambda/api 网关为应用程序提供服务时,所有文件都通过网络正确获取,但 vuetify 图标未呈现。
我收到错误:
OTS parsing error: Size of decompressed WOFF 2.0 is less than compressed size
Failed to decode downloaded font
这些文件没有损坏,我可以通过网络下载它们,替换我的本地文件,一切都按预期进行。 另外,我可以通过 S3 托管应用程序,并且 S3 服务器使用 'Content-Type': 'binary/octet-stream' 正确渲染 WOFF 文件中的图标 我希望能够在 AWS lambda 上托管应用程序,这样我就可以包含授权/重定向逻辑,目前使用带有 lambda 授权方的 S3 并不是一个可行的选择。
请告知为什么我的 lambda 函数的快速实现无法通过这些“materialdesignicons.woff”文件渲染 Vuetify 图标
如果您谈论 serverless-http 库,则可以显式设置二进制媒体类型。方法如下:
serverless(app, {
binary: ['font/*']
});
它应该可以解决问题。 文档中有更多示例。