`

Firebase环境Setup

 
阅读更多
Project Pre-settings
1.1 Install Node.js
由于Backend和Frontend分别要求不同的Node.js版本,建议用Node.js多版本管理工具nvm来安装和切换Node.js版本。安装好nvm以后,分别执行下面的命令安装(命令提示符AP下):

nvm install 10.13                                --目前部署前端使用的node版本
nvm install 10.14.2                               --目前部署后端使用的node版本


注:nvm下载路径:https://github.com/coreybutler/nvm-windows  nvm-setup.zip

1.2 Create firebase projects
a) Link:https://console.firebase.google.com/u/0/
b) 输入项目名称并成功创建该project
c) 在项目设置中选择时区

1.3 Reference
Firebase CLI reference
https://firebase.google.com/docs/cli/?authuser=0










Deploy Frontend
2.1 安装firebase CLI & Angular CLI
要使用Firebase托管这项服务托管您的站点,您需要有Firebase CLI(一个命令行工具)
运行以下命令以使用 npm 安装 Firebase CLI:
nvm use 10.13
npm install -g firebase-tools
npm install -g @angular/cli


2.2 指定路径下执行相关部署命令
cd  “local frontend code path”

nvm use 10.13
npm install                             --本地frontend文件下生成Node modules文件
ng build --prod                          --本地frontend文件下生成dist文件 


将生成的dist文件下内容 copy 到backend\public下方,command进入到\BackEnd \public目录下,cd \BackEnd \public执行以下命令:

nvm use 10.14.2
npm install -g firebase-tools
firebase login                     --使用您的Google帐号登录Firebase
firebase projects:list                --列出Firebase项目来测试CLI是否已正确安装,
以及是否能访问您的帐号
firebase use ‘Project ID’             --选择当前需要部署的项目


2.3 初始化您的项目
如果firebase project沒有初始化過(New project),需要執行以下命令初始化:

firebase init  (衔接以上命令)

提示信息&选择如下:
F:\P4_Code\Firebase\Sample\FirebaseTestProject\Frontend>firebase init

     ######## #### ########  ######## ########     ###     ######  ########
     ##        ##  ##     ## ##       ##     ##  ##   ##  ##       ##
     ######    ##  ########  ######   ########  #########  ######  ######
     ##        ##  ##    ##  ##       ##     ## ##     ##       ## ##
     ##       #### ##     ## ######## ########  ##     ##  ######  ########

You're about to initialize a Firebase project in this directory:

  F:\P4_Code\Firebase\Sample\FirebaseTestProject\Frontend

? Are you ready to proceed? Yes
? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confi
? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confi
? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confi
? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confi
? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confi
? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confi

rm your choices. Hosting: Configure and deploy Firebase Hosting sites

=== Project Setup

First, let's associate this project directory with a Firebase project.
You can create multiple project aliases by running firebase use --add,
but for now we'll just set up a default project.

? Please select an option: Use an existing project
i  Don't want to scroll through all your projects? If you know your project ID, you can initialize it directly using fir
ebase init --project <project_id>.

? Select a default Firebase project for this directory: multimanagementsystem (MultiManagementSystem)
i  Using project multimanagementsystem (MultiManagementSystem)

=== Hosting Setup

Your public directory is the folder (relative to your project directory) that
will contain Hosting assets to be uploaded with firebase deploy. If you
have a build process for your assets, use your build's output directory.

? What do you want to use as your public directory? public
? Configure as a single-page app (rewrite all urls to /index.html)? Yes
? Set up automatic builds and deploys with GitHub? No
+  Wrote public/index.html

i  Writing configuration info to firebase.json...
i  Writing project information to .firebaserc...
i  Writing gitignore file to .gitignore...

+  Firebase initialization complete!



执行完毕后会产生如下结构文件夹
-+RootDit
  -+public
    --index.html
  --.firebaserc
  --.gitignore
  --firebase.json

.firebaserc文件内容
{
  "projects": {
    "default": "multimanagementsystem"
  }
}


.gitignore文件内容
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
firebase-debug.log*
firebase-debug.*.log*

# Firebase cache
.firebase/

# Firebase config

# Uncomment this if you'd like others to create their own Firebase project.
# For a team working on the same Firebase project(s), it is recommended to leave
# it commented so all members can deploy to the same project(s) in .firebaserc.
# .firebaserc

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env



firebase.json文件内容
{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}





2.4 部署到Firebase托管
firebase deploy --only hosting    (衔接以上命令)


注:具体命令执行含义详见
https://firebase.google.com/docs/cli?authuser=0#windows-npm













Deploy Backend

cd  “local backend\functions code path”

nvm use 10.14.2
npm install                       --本地backend\functions文件下生成Node modules文件
npm run build –prod               --检查是否有代码报错
npm run lint                      --检查报错明细
firebase login                     --使用您的Google帐号登录Firebase
firebase projects:list                --列出当前帐号能访问的项目内容
firebase use ‘Project ID’             --选择当前需要部署的项目


3.2 Deploy Functions
Functions:
firebase deploy --only functions


3.3 Related Documents
https://cloud.google.com/docs
https://cloud.google.com/sdk/gcloud/reference/functions/deploy

分享到:
评论

相关推荐

    rails_firebase_auth:api导轨示例示例Firebase

    Rails Firebase身份验证Firebase的示例性示例设置Roda脚本de setup do rails bin/setup Copia o arquivo .env.template para .env cp .env.template .env 配置各种环境FIREBASE_PROJECT_ID无配置.env Roda tarefa ...

    setup-template-firebase-react

    npm -D i setup-template-firebase-react 在安装时,将在没有任何其他命令的情况下解压缩该文件,此外,还需要在现有package.json的内容中添加必要的信息。 有关所需软件包的信息将被写入,但是由于在此阶段尚未执行...

    Firebase-ESP32:ESP32 Firebase RTDB Arduino库

    Firebase-ESP32是将Arduino开发环境与Firebase实时数据库(Firebase Realtime Database)结合的库,主要用于ESP32微控制器。这个库使得开发者能够轻松地从ESP32设备上发送和接收数据到Firebase,这对于物联网(IoT)...

    PyPI 官网下载 | Pyrebase4-4.5.0.tar.gz

    通过运行`python setup.py install`命令,用户可以在本地环境中安装这个库。 关于标签,"zookeeper"是Apache ZooKeeper的简称,它是一个分布式协调服务,用于管理大型分布式系统的配置信息、命名服务、集群状态等。...

    trends-blog:使用Vue 3和Firebase创建的简单博客

    使用npm命令行工具进行项目设置和构建,如`npm install`安装依赖,`npm run serve`用于开发环境的热重载,而`npm run build`则用于打包生产环境的代码。通过自定义配置,开发者可以根据需求调整Vue 3 和 Firebase 的...

    demo-nextjs-firebase-app

    Next.js,TypeScript,漂亮,ESLint,Scss,Storybook环境 を参考に环境构筑 环境构筑 $ git clone https://github.com/keisukesaito7/demo-zenn-next-setup.git &lt;appName&gt; # alias clone-n-pro='git clone ...

    Simpel-blog-VueJs3---Firebase:simpel博客,每个人都可以从firebase中添加或删除每个帖子具有[id,titel,Content,image,createdAt]的帖子

    描述中提到了项目使用了Vue.js 3的最新特性,如`setup`语法糖,这是Vue 3 Composition API的一部分,用于在组件中组织和复用逻辑。开发者通过`npm install`来安装所需的依赖,然后使用`npm run serve`启动本地开发...

    ecommerce:客户端和服务器端-monorepo -setup

    "ecommerce:客户端和服务器端-monorepo -setup" 提供了一种整合客户端与服务器端代码的解决方案,采用单个仓库(monorepo)进行管理。这种方式在大型项目中尤其常见,因为它便于代码共享、版本控制和团队协作。 ...

    Setup-Phonegap-and-Send-Push-notifications:这是这些东西的文件和代码

    这个压缩包文件“Setup-Phonegap-and-Send-Push-notifications”显然是一个教程或项目,涵盖了PhoneGap的配置以及如何在iOS和Android平台上发送推送通知。 首先,让我们深入了解PhoneGap的设置过程。在Windows和Mac...

    loyaltyapi-demo

    该存储库包含一个演示应用程序,其前端使用create-react-app构建,后端通过实现并由Firebase Functions托管。 在你开始之前 为了运行此应用程序,请确保满足以下先决条件: 已安装 10或更高版本。 。 拥有一个 ...

    PyPI 官网下载 | pyfcm-1.5.4.tar.gz

    `pyfcm`是一个Python库,它提供了一个简单易用的接口来与Firebase Cloud Messaging (FCM) 服务进行交互。FCM是Google推出的一个推送通知服务,能够帮助开发者将实时消息发送到Android、iOS甚至Web应用。通过`pyfcm`...

    Python库 | pushNotification-0.76.tar.gz

    解压后的文件结构可能包括`setup.py`,这是一个标准的Python安装脚本,用于通过`pip`或其他安装工具将库安装到Python环境。此外,可能还有`README.md`文件,其中包含了库的使用说明和示例,`requirements.txt`列出...

    制作绿色:with使用github自动提交在我的github中制作绿色

    它首先检出代码,然后设置Node.js环境,安装依赖,构建项目,并在主分支上时部署到Firebase。 要将这个过程与GitHub关联起来,你需要在你的GitHub仓库设置中添加一个Secret,用于存储Firebase服务账户的JSON文件...

    pf-flask-communication:Problem Fighter Python通讯帮助程序,例如Websocket,电子邮件,推送通知等

    另一种是“开发模式”,使用`python setup.py develop`命令,这将把库安装为一个开发链接,使得对源代码的任何改动都能立即在环境中生效,非常适合开发者在调试和改进代码时使用。 关于Python的Websocket通信,...

    建立用户回复和反馈的请求的POD iOS

    FeedbackMe.setup(daysUntilPrompt: 3, usesUntilPrompt: 5, launchCount: 0) return true } ``` 在这个例子中,应用将在用户连续使用3天且至少打开5次后显示反馈请求。 FeedbackMe提供了自定义UI的选项,你可以...

    基于arduino的温湿度检测设计方案-电路方案

    例如,使用MQTT协议将温湿度数据发送到物联网服务器,或者通过Firebase等实时数据库进行存储和远程查看。 六、扩展应用 1. **智能温室**:结合光照、土壤湿度等传感器,构建智能温室控制系统,自动调节环境条件,...

Global site tag (gtag.js) - Google Analytics