gpt4 book ai didi

javascript - Heroku 应用程序仅适用于 Chrome 桌面//React.Js 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 15:50:47 25 4
gpt4 key购买 nike

最近完成了一个获取新闻文章并显示它们的 React 项目。最近部署到 Heroku,发现似乎只有桌面上的 Chrome 可以运行它。

当我查看 Javascript 控制台时,Safari 和 Firefox 都给我同样的错误。 Javascript error

heroku 应用程序链接 - https://calm-bastion-47290.herokuapp.com/

服务器设置

    const express = require("express");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const passport = require("passport");
const path = require("path");

const users = require("./routes/api/users");
const profile = require("./routes/api/profile");

const app = express();
// Body Parser Middleware
app.use(express.urlencoded({ extended: false }));
app.use(express.json());

// DB config
const db = require("./config/keys").mongoURI; //mongodb database url connection

// connect to mongodb
mongoose
.connect(db)
.then(() => console.log("MongoDB Connected"))
.catch(err => console.log(err));

//passport Middleware

app.use(passport.initialize());

//passport config
require("./config/passport")(passport);

//use routes

app.use("/api/users", users);
app.use("/api/profile", profile);

// Server static assets if in production
if (process.env.NODE_ENV === "production") {
// Set static folder
app.use(express.static("client/build"));

app.get("*", (req, res) => {
res.sendFile(path.resolve(__dirname, "client", "build", "index.html"));
});
}

const port = process.env.PORT || 5000;

app.listen(port, () => console.log(`Server running on port ${port}`));

我认为我的代码没有任何问题,因为它在本地完美运行并且 chrome 处理得很好。 Safari、Firefox 和任何移动浏览器无法呈现我的 Web 应用程序的任何部分的明显原因是什么?

最佳答案

刚遇到同样的问题。确保在部署之前取出 redux 开发工具。

在您的 store.js 文件中包含以下内容以在生产中不使用“redux devtools”。

if(process.env.NODE_ENV === 'production') {
store = createStore(rootReducer, initialState, compose(
applyMiddleware(...middleware)
));
} else {
store = createStore(rootReducer, initialState, compose(
applyMiddleware(...middleware),
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
));
}

想法是在开发时只包含 REDUX_DEVTOOLS。在生产中,不应使用它,因为只有带有 redux devtool 扩展的浏览器才能查看该页面。

关于javascript - Heroku 应用程序仅适用于 Chrome 桌面//React.Js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50505805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com