簡體   English   中英

Firebase 與 react: TypeError: Path must be a string。 收到未定義

[英]Firebase with react: TypeError: Path must be a string. Received undefined

我想弄清楚如何配置 react 以使用 firestore 作為后端。

我剛剛啟動了一個新應用程序以再次嘗試使用身份驗證模塊。

這一次,當我啟動本地主機時,我收到一條錯誤消息:

TypeError: Path must be a string. Received undefined
    at assertPath (path.js:28:11)
    at Object.join (path.js:1233:7)
    at noopServiceWorkerMiddleware (/Users/FirebaseReactContext/node_modules/react-dev-utils/noopServiceWorkerMiddleware.js:14:26)
    at Layer.handle [as handle_request] (/Users/FirebaseReactContext/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/FirebaseReactContext/node_modules/express/lib/router/index.js:317:13)
    at /Users/FirebaseReactContext/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/Users/FirebaseReactContext/node_modules/express/lib/router/index.js:335:12)
    at next (/Users/FirebaseReactContext/node_modules/express/lib/router/index.js:275:10)
    at launchEditorMiddleware (/Users/FirebaseReactContext/node_modules/react-dev-utils/errorOverlayMiddleware.js:20:7)
    at Layer.handle [as handle_request] (/Users/FirebaseReactContext/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/FirebaseReactContext/node_modules/express/lib/router/index.js:317:13)
    at /Users/FirebaseReactContext/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/Users/FirebaseReactContext/node_modules/express/lib/router/index.js:335:12)
    at next (/Users/FirebaseReactContext/node_modules/express/lib/router/index.js:275:10)
    at handleWebpackInternalMiddleware (/Users/FirebaseReactContext/node_modules/react-dev-utils/evalSourceMapMiddleware.js:42:7)
    at Layer.handle [as handle_request] (/Users/FirebaseReactContext/node_modules/express/lib/router/layer.js:95:5)

我嘗試刪除 node_modules 和 yarn.lock 然后 yarn install 再次制作這些文件。 產生同樣的錯誤。

我已經看過這篇文章並嘗試了其中的每個建議 - 通過安裝 firebase-admin 但 Ben Winding 的答案中的建議是確保在 firebase.json 中將 source 定義為:

{
  "functions": {
    "predeploy": "npm run build",
    "source": "."
  }
}

我根本沒有功能部分。 我唯一定義了源代碼的地方是重寫 - 如:

"rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]

那不正確嗎? 我在之前嘗試制作的應用程序中采用了這種方式,並且加載良好。

我有一個名為 functions/package.json 的單獨文件夾,其中包含:

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "serve": "firebase serve --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "dependencies": {
    "firebase-admin": "~6.0.0",
    "firebase-functions": "^2.1.0"
  },
  "private": true
}

有誰知道如何解決這個問題? 我不知道如何從錯誤消息中理解下一步要嘗試的內容。

npm 更新反應腳本

運行此命令后,解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM