Firebase 缺少应用程序配置值:使用 travis 的 ReactJs 中的“projectId”(安装/缺少应用程序配置值)

问题描述 投票:0回答:1

firebase react 应用程序部署在使用命令行部署时工作正常。但是,使用 Travis 部署时出现以下错误。

以下是我的配置文件。

.特拉维斯.yml

language: node_js
node_js:
   - 12.1.0
warnings_are_errors: false
install:
  - npm install
script:
  - npm run build
deploy:
   provider: firebase
   skip_cleanup: true
   true:
      branch: main
token:
    secure: ****************************

环境: 全球的: 安全:******************************

firebase.json

{
"hosting": {
    "site": "********",
    "public": "build",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

.环境

API_KEY=''
AUTH_DOMAIN=''
PROJECT_ID=''
FIREBASE_STORAGE_BUCKET=''
FIREBASE_MESSAGING_SENDER_ID=''
FIREBASE_APP_ID=''
FIREBASE_DATABASE_URL=''

export const firebaseConfig = {
  apiKey: process.env.API_KEY,
  authDomain: process.env.AUTH_DOMAIN,
  projectId: process.env.PROJECT_ID,
  storageBucket: process.env.FIREBASE_STORAGE_BUCKET,
  messagingSenderId: 
  process.env.FIREBASE_MESSAGING_SENDER_ID,
  appId: process.env.FIREBASE_APP_ID,
  measurementId: process.env.measurementId
};

  firebaseApp.initializeApp(firebaseConfig);
reactjs firebase github travis-ci
1个回答
0
投票

有同样的问题,配置完全相同。我能够通过将

env
变量包装在 string 构造函数中来解决。

export const firebaseConfig = {
  apiKey: String(process.env.API_KEY),
  authDomain: String(process.env.AUTH_DOMAIN),
  projectId: String(process.env.PROJECT_ID),
  storageBucket: String(process.env.FIREBASE_STORAGE_BUCKET),
  messagingSenderId: String(process.env.FIREBASE_MESSAGING_SENDER_ID),
  appId: String(process.env.FIREBASE_APP_ID),
  measurementId: String(process.env.measurementId),
};

工作理论:传递环境变量时,它会将值识别为对象而不是字符串值。

希望能帮助任何寻找答案的人。

© www.soinside.com 2019 - 2024. All rights reserved.