簡體   English   中英

在 Vercel 上部署 React 應用程序后出現黑屏

[英]Blank screen after deploying react app on Vercel

我的 package.json 文件我也試過包括以前的解決方案“主頁”......在這個

我在這里錯誤地添加了任何語法錯誤或引用嗎? 我的構建是成功的,但我只能在部署的站點中看到空白頁面

{
  "name": "react-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@date-io/date-fns": "^1.3.13",
    "@material-ui/core": "^4.12.2",
    "@material-ui/pickers": "^3.3.10",
    "@reduxjs/toolkit": "^1.6.1",
    "@syncfusion/ej2-react-calendars": "^19.2.55",
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "axios": "^0.21.1",
    "bootstrap": "^5.0.2",
    "framer-motion": "^4.1.17",
    "mdbreact": "^5.1.0",
    "react": "^17.0.2",
    "react-bootstrap": "^2.0.0-beta.4",
    "react-calendar": "^3.4.0",
    "react-datepicker": "^4.1.1",
    "react-dom": "^17.0.2",
    "react-icons": "^4.2.0",
    "react-minimal-side-navigation": "^1.9.2",
    "react-redux": "^7.2.4",
    "react-router-dom": "^5.2.0",
    "react-scripts": "^4.0.3",
    "react-switch": "^6.0.0",
    "rsuite": "^4.10.2",
    "web-vitals": "^1.0.1",
    "homepage": "."
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

我的 App.js 文件,我在其中導入了所有 React 和 Redux 路由器。

import "./App.css";
import Sidebar from "./Components/Sidebar";
import { BrowserRouter, Route, Switch } from "react-router-dom";
import FoodCatalog from "./Components/Pages/FoodCatalog";
import 'bootstrap/dist/css/bootstrap.min.css';
import Promotions from "./Components/Pages/Promotions";
import UserManagement from "./Components/Pages/UserManagement";
import axios from 'axios';
import { Provider } from "react-redux";
import thunk from "redux-thunk";
import { createStore, applyMiddleware, compose } from "redux";
import reducer from './redux/reducers'
import Tickets from "./Components/Pages/Tickets";



function App() {
  return (
    <Provider store={store}>
    <BrowserRouter>
      <div className="App">
        <div>
          <Sidebar />
        </div>

        <div style={{width: '100%',overflow: 'hidden'}}>
          <Switch>
            <Route path="/foodcatalog" component={FoodCatalog } />
            <Route path="/promotions" component={Promotions } />
            <Route path="/usermanagement" component={UserManagement } />
            <Route path="/tickets" component={Tickets } />
          </Switch>
          
        </div>
      </div>
    </BrowserRouter>
    </Provider>
  );
}

export default App;

您是否嘗試過進入您的 vercel 環境變量並輸入:

CI=false

有時 vercel 在生產中需要該環境變量。

指定“主頁”

如果您使用的是 create-react-app,則無需處理 Webpack 配置。 (這很好)相反——無論是否彈出——我們只需要在我們的 package.json 中指定“主頁”:

例子

create-react-app 如何設置它的 webpack 配置,這將用您應用程序的正確基本 URL 替換 publicPath。 (如果您想了解更多關於 publicPath 設置的信息,請查看 Webpack 文檔)

請參考: https ://www.andreasreiterer.at/fix-whitescreen-static-react-app/

對於在將 React 應用程序部署到 Vercel 時遇到相同問題的任何人,請添加"homepage": "." package.json為我工作。 我最初使用的是gh-pages ,但想轉移到 Vercel,因此我完全刪除了主頁設置,因為在訪問 Vercel 上部署的 URL 后我得到了一個空白屏幕。 所以我添加了主頁設置並終於成功了。

暫無
暫無

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

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