我在使用@rails/webpacker加载本地字体文件时遇到问题。字体在开发环境中加载,但不在生产环境中加载。这似乎是一个非常简单的问题,但我遇到了很多麻烦。下面是我的@font-face 代码。我的字体存储在 app/assets/images/fonts
应用程序 > 资产 > 样式表 > 配置 > _fonts.scss
@font-face {
font-family: "Axiforma";
src: url("fonts/Kastelov-AxiformaRegular.eot"); /* IE9 Compat Modes */
src: url("fonts/Kastelov-AxiformaRegular.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
url("fonts/Kastelov-AxiformaRegular.otf") format("opentype"), /* Open Type Font */
url("fonts/Kastelov-AxiformaRegular.svg") format("svg"), /* Legacy iOS */
url("fonts/Kastelov-AxiformaRegular.ttf") format("truetype"), /* Safari, Android, iOS */
url("fonts/Kastelov-AxiformaRegular.woff") format("woff"), /* Modern Browsers */
url("fonts/Kastelov-AxiformaRegular.woff2") format("woff2"); /* Modern Browsers */
font-weight: 400;
font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)
在生产模式下获取字体文件会导致 404 错误。当我预编译资产时,我可以看到字体文件的文件名附加了一个哈希值。在传递给浏览器的 css 文件中,字体文件的 url 保持不变。为了解决这个问题,我尝试在环境模块规则中使用file-loader、url-loader和resolve-url-loader …
我正在尝试将 Firebase 参数化配置与 Typescript 用于云功能。具体来说,我尝试在部署时使用它们来指定要使用的服务帐户,因为我在单独的 firebase 项目中拥有三个环境(dev、staging、prod),并具有单独的 firestore 数据库。
我按照此处的说明进行操作https://firebase.google.com/docs/functions/config-env
我在运行时访问这些环境变量没有问题,就像通过调用 .value() 中的说明一样
我像这样定义我的服务帐户环境变量:
配置.ts
import { defineString } from "firebase-functions/params"
export const SERVICE_ACCOUNT = defineString("SERVICE_ACCOUNT")
Run Code Online (Sandbox Code Playgroud)
.env。
SERVICE_ACCOUNT = './service-account-dev.json'
Run Code Online (Sandbox Code Playgroud)
然后,当我想在部署时使用此环境变量时,我会收到一些错误
索引.ts
import * as admin from "firebase-admin"
import { SERVICE_ACCOUNT } from "./config"
admin.initializeApp({
credential: admin.credential.cert(SERVICE_ACCOUNT),
})
Run Code Online (Sandbox Code Playgroud)
打字稿错误:“‘StringParam’类型的参数无法分配给‘string | ServiceAccount’类型的参数。ts(2345)”
然后,当我尝试像这样获取这里的值时:index.ts
import * as admin from "firebase-admin"
import { SERVICE_ACCOUNT } from "./config"
admin.initializeApp({
credential: admin.credential.cert(SERVICE_ACCOUNT.value()),
})
Run Code Online (Sandbox Code Playgroud)
使用此代码,我现在不会从打字稿中得到任何问题,因为该值是一个字符串,但在部署到 firebase 时却出现错误(这是预期的,并在我在顶部链接的说明中提到)。
错误如下:
{"severity":"WARNING","message":"params.SERVICE_ACCOUNT.value() invoked during function deployment, instead of …Run Code Online (Sandbox Code Playgroud) environment-variables firebase typescript google-cloud-functions