when i deploy mern on heroku deploy problem in NODE_ENV

Viewed 82

every thing is ok but when we write the code in this format only show api call in formate of json or send but not show the react template i can't undersatnd

        const express = require('express');
        const app = express();
        const port = process.env.PORT || 5000;
        const NODE_ENV = process.env.NODE_ENV || "devlopment"
        const path = require("path");
        var cors = require('cors')
        
        
        app.use(cors())
        app.use(express.json())
        app.use(express.urlencoded({ extended: true }));
          
       app.get('/', (req, res) => {
       res.json({
              message: "Mern Deploy secces"
                })
            })
            
      app.get('/sample', (req, res) => {
        res.send("Hello Express");
            })
    
     
    
        if (process.env.NODE_ENV === "production") {
                app.use(express.static("client/build"))
            
         app.get(" * ", (req, res) => {
      res.sendFile(path.resolve(__dirname, "../client", "build", "index.html"))
                });
            
                console.log('production modde')
            }
          
 app.listen(port, () => {
        console.log('server is running on 5000')
    })

this is my node js file if i write the code in this formate only show react js not show api request

index.js

const express = require('express');
const app = express();
const port = process.env.PORT || 5000;
const NODE_ENV = process.env.NODE_ENV || "devlopment"
const path = require("path");
var cors = require('cors')


app.use(cors())
app.use(express.json())
app.use(express.urlencoded({ extended: true }));


if (process.env.NODE_ENV === "production") {
    app.use(express.static("client/build"))

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

    console.log('production modde')
}

app.get('/', (req, res) => {

    res.json({
        message: "Mern Deploy secces"
    })
})

app.get('/sample', (req, res) => {
    res.send("Hello Express");
})



app.listen(port, () => {
    console.log('server is running on 5000')
})

This is my React js File

import Raact, { useEffect ,useState } from 'react';
import './App.css';
import axios from 'axios';

function App() {
const [show, setshow] = useState("")

useEffect(()=>{
 
  axios.get('/',)
  .then((result)=>{
    setshow(result.data.message)
  }).catch((err)=>{
    console.log(err)
  })

},[])

  return (
    <div className="App">
     <h1>Hello world</h1>
     <h1>{show}</h1>
    </div>
  );
}

export default App;

client package.json

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.10",
    "@testing-library/react": "^11.2.6",
    "@testing-library/user-event": "^12.8.3",
    "axios": "^0.21.1",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-scripts": "4.0.3",
    "web-vitals": "^1.1.1"
  },
  "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"
    ]
  },
  "proxy": "http://localhost:5000/"
}

package.json server

{
  "name": "MERN-DEPLOY",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",

  "engines": {
    "node": "14.15.5",
    "npm": "7.5.4"
  },
  "scripts": {
    "start": "node server/index.js",
    "backend": "nodemon server/index.js",
    "fontend": "npm run front --prefix client",
    "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client ",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "nodemon": "^2.0.7"
  }
}
0 Answers
Related