如何通过 firebase 托管在 firebase 上托管 node.js Web 应用程序(包含多个文件夹)?

Posted

技术标签:

【中文标题】如何通过 firebase 托管在 firebase 上托管 node.js Web 应用程序(包含多个文件夹)?【英文标题】:how to host node.js web app(containing multiple folders) on firebase through firebase hosting? 【发布时间】:2019-07-25 08:30:00 【问题描述】:

我已完成所有 Firebase 托管流程。在我的 firebase 帐户中,我可以使用实时数据库、firestore、托管和函数。当我试图在 firebase 上部署我的网络应用程序时,我收到了这个错误:

=== Deploying to 'remonet-f20c4'...

i  deploying database, storage, firestore, functions, hosting
Running command: npm --prefix "%RESOURCE_DIR%" run lint
npm ERR! missing script: lint

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\H P\AppData\Roaming\npm-cache\_logs\2019-02-28T11_03_51_407Z-debug.log
events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: spawn npm --prefix "D:\Mangesh\ReMoNet\functions" run lint ENOENT
    at notFoundError (C:\Users\H P\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\H P\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:40:16)
    at ChildProcess.cp.emit (C:\Users\H P\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:27:25)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
Emitted 'error' event at:
    at ChildProcess.cp.emit (C:\Users\H P\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:30:37)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)

Error: functions predeploy error: Command terminated with non-zero exit code1

**我在这里附上了我的项目文件夹的屏幕截图和 firebase.json 文件:

 
      "database": 
        "rules": "database.rules.json"
      ,
      "functions": 
        "predeploy": [
          "npm --prefix \"%RESOURCE_DIR%\" run lint",
          "npm --prefix ./functions/ run lint",
          "npm --prefix ./functions/ run build"
        ],
        "source": "functions"
      ,
      "hosting": 
        "public": "public",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ]
      ,
      "firestore": 
        "rules": "firestore.rules",
        "indexes": "firestore.indexes.json"
      ,
      "storage": 
        "rules": "storage.rules"
      
    

Project Folders view

【问题讨论】:

【参考方案1】:

firebase.json 中配置为在部署前执行lint npm-script。

npm --prefix ./functions/ run lint

这会导致以下错误。

npm 错误!缺少脚本:lint

您应该确保functions 中的package.json 定义了lint 脚​​本。

【讨论】:

以上是关于如何通过 firebase 托管在 firebase 上托管 node.js Web 应用程序(包含多个文件夹)?的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose不适用于Firebase(Express Api)主机

使用 Laravel 托管 ReactJS

我该如何解决这个问题:Android Studio - Flutter - Dart - firebase [关闭]

如何使用 Firebase 托管来托管图像?

Uncaught FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 在 vue.js 中调用 Fireba

如何通过 Swift 连接到本地 Firebase 服务器?