Firebase与react:TypeError:路径必须是字符串。收到未定义

时间:2020-02-15 23:14:17

标签: javascript node.js reactjs firebase

我试图弄清楚如何配置将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再次制作这些文件。会产生相同的错误。

我看过this post并尝试了其中的每个建议-通过安装firebase-admin,但Ben Winding回答中的建议是确保在firebase.json中将源定义为:

{
  "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
}

有人知道如何解决这个问题吗?我不知道如何从错误消息中了解下一步的想法。

1 个答案:

答案 0 :(得分:0)

npm更新react-scripts

运行此命令后,此问题已解决。