MERN堆栈web应用程序显示空白屏幕的Android移动浏览器,作为React-Redux前端,Node-Express后端

时间:2019-04-27 15:18:12

标签: node.js reactjs redux react-redux redux-devtools

我已经使用MongoDB,Express,React,Nodejs在MERN堆栈中构建了WebApp。

我将其托管为https://connectgeeks.herokuapp.com到Heroku-Cloud。

Github-repo项目-Find_Geeks。 它可以在我的桌面浏览器上运行,但不能在任何Android chrome上运行。

我在Heroku云中有一个自动构建的应用程序,其中package.json中的命令为

"scripts:{ "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix frontend && npm run build --prefix frontend" } 在Android上加载时,它的搜索栏背景会变为黑色,并且我认为该页面已加载到该时间,但无法显示组件。

处于工作状态的Desktop-chrome屏幕截图。

screenshot1

以隐身模式显示工作状态的Desktop-chrome的屏幕截图。

screenshot2

Chrome中的移动模式屏幕截图,即工作状态。

screenshot3

我的package.json内容是

{
  "name": "find-geeks",
  "version": "1.0.0",
  "description": "social media for developers, quite same as Linkedin.",
  "main": "server.js",
  "scripts": {
    "client-install": "npm install --prefix frontend",
    "start": "node server.js",
    "server": "nodemon server.js",
    "client": "npm start --prefix frontend",
    "dev": "concurrently \"npm run server\" \"npm run client  \"",
    "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix frontend && npm run build --prefix frontend"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ganesh-deshmukh/connect-geeks.git"
  },
  "author": "Ganesh Ashok Deshmukh",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/ganesh-deshmukh/connect-geeks/issues"
  },
  "homepage": "https://github.com/ganesh-deshmukh/connect-geeks#readme",
  "dependencies": {
    "bcryptjs": "2.4.3",
    "body-parser": "1.18.2",
    "concurrently": "3.5.1",
    "express": "4.16.3",
    "gravatar": "1.6.0",
    "jsonwebtoken": "8.2.0",
    "mongoose": "5.4.0",
    "passport": "0.4.0",
    "passport-jwt": "4.0.0",
    "validator": "9.4.1"
  },
  "devDependencies": {
    "nodemon": "1.17.3"
  }
}

编辑1:

我尝试通过localhost-server在移动屏幕上的URL http://192.168.43.171:3000/进行调试,

screenshot5

然后显示错误位置为

screen6

screen7

screen8

从store.js中删除了DevTools,现在它可以通过本地主机服务器在Mobile浏览器上使用。

screen8

也许是由于Heroku构建脚本或其他任何原因造成的。

它在删除redux-dev-tools之后就可以在移动屏幕上运行,就像本地一样。

但它不适用于URL https://connectgeeks.herokuapp.com

2 个答案:

答案 0 :(得分:0)

这个问题没有任何错误,但是一旦完成更改就不会推送Heroku master的错误。

我检查了Heroku仪表板上的日志,尽管我更新并推送了git-repo,但它显示了旧日期的活动。

我的错误是在删除redux-dev-tools之后没有推送Heroku-repo。

解决后,在“活动”选项卡中显示新日志,表示已更新。

screen1

它现在可以在移动设备上运行,既可以通过本地主机服务器访问,也可以通过https://connect-geeks.herokuapp.com/网址访问

screen2

答案 1 :(得分:0)

我知道这是一个老问题,但如果有人需要,我会发布答案。

问题出在您的 server.js(后端)文件中。 您需要按以下顺序将中间件放在 server.js 中。

order of the middlewares