从不同的文件夹服务和部署

时间:2018-06-24 18:16:06

标签: firebase google-cloud-functions firebase-cli

我的firebase项目需要先进行移植,然后才能进行部署。该代码以./app编写,并被转换为./dist

当前,当我运行firebase serve --only app时,出现错误消息:“无法理解要部署的目标。如果使用--only或--except标志,请检查是否指定了有效目标。否则,请检查Firebase。 json,以确保您的项目已针对所需功能进行了初始化。”

现在,我每次在部署时都想将应用程序切换到package.json中的dist并在开发时返回。我应该如何配置firebase.json以便可以从./app提供服务并可以从./dist进行部署?

//firebase.json
{
  "functions": {
    "predeploy": [
      "npm --prefix $RESOURCE_DIR run lint"
    ],
    "source": "app"
  }
}

//package.json
{
  "main": "./dist/index.js",
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "deploy": "firebase deploy --only dist",
    "lint": "eslint app test",
    "logs": "firebase functions:log",
    "precommit": "npm run lint && npm test",
    "prepare": "rm -rf dist && babel ./app/ -d ./dist && mkdir dist/private && cp app/private/conf.json dist/private/conf.json && cp package.json dist/package.json",
    "serve": "firebase serve --only app",
    "shell": "firebase experimental:functions:shell",
    "start": "npm run shell",
    "test": "jest"
  },
  "dependencies": {
    "cors": "^2.8.4",
    "cross-fetch": "^2.1.0",
    "firebase-admin": "^5.12.1",
    "firebase-functions": "^1.0.3",
    "moment": "^2.22.1",
    "uuid": "^3.2.1"
  },
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-plugin-transform-runtime": "^6.23.0",
    "babel-preset-env": "^1.6.1",
    "babel-runtime": "^6.26.0",
    "eslint": "^4.12.0",
    "eslint-plugin-promise": "^3.6.0",
    "husky": "^0.14.3",
    "jest": "^23.1.0"
  },
  "private": true
}

1 个答案:

答案 0 :(得分:0)

出乎意料的是,我在工作站上遇到了同样的错误。有时,firebase cli的活动项目未正确更新。我发现要解决此问题的解决方案是将活动项目设置为另一个项目,然后通过设置我真正想用作Firebase活动项目的项目来撤消它。

firebase use antotherFirebaseProjectID

然后

firebase use myFirebaseProjectID

否则,您也可以尝试重新启动计算机,并希望它可以正确初始化firebase活动项目

相关问题