Home >Web Front-end >JS Tutorial >How to Build and Deploy a Full-Stack MERN Application
The MERN stack is a popular technology stack for building full-stack web applications. It consists of MongoDB, Express, React, and Node.js, each of which plays a vital role in creating a modern web app. In this article, we will go through the process of building a full-stack MERN application and deploying it to a live server.
1. Setting Up the Backend (Node.js Express MongoDB):
const express = require('express'); const mongoose = require('mongoose'); const app = express(); // Middleware app.use(express.json()); // Connect to MongoDB mongoose.connect('mongodb://localhost:27017/mernApp', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('MongoDB connected')) .catch(err => console.log(err)); // Define a simple model const User = mongoose.model('User', { name: String, email: String }); // API route to get all users app.get('/api/users', async (req, res) => { const users = await User.find(); res.json(users); }); app.listen(5000, () => console.log('Server running on port 5000'));
2. Building the Frontend (React):
import React, { useEffect, useState } from 'react'; import axios from 'axios'; function App() { const [users, setUsers] = useState([]); useEffect(() => { axios.get('http://localhost:5000/api/users') .then(response => { setUsers(response.data); }) .catch(err => { console.error(err); }); }, []); return ( <div> <h1>Users</h1> <ul> {users.map(user => ( <li key={user._id}>{user.name} - {user.email}</li> ))} </ul> </div> ); } export default App;
3. Connecting the Frontend and Backend:
Example:
"proxy": "http://localhost:5000"
4. Deploying the MERN Application:
Example deployment steps:
const express = require('express'); const mongoose = require('mongoose'); const app = express(); // Middleware app.use(express.json()); // Connect to MongoDB mongoose.connect('mongodb://localhost:27017/mernApp', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('MongoDB connected')) .catch(err => console.log(err)); // Define a simple model const User = mongoose.model('User', { name: String, email: String }); // API route to get all users app.get('/api/users', async (req, res) => { const users = await User.find(); res.json(users); }); app.listen(5000, () => console.log('Server running on port 5000'));
Conclusion
Building and deploying a full-stack MERN application involves setting up the backend with Node.js, Express, and MongoDB, and the frontend using React. By following these steps, you can create a complete web application that handles both the client-side and server-side logic. Once developed, deploying the app on platforms like Heroku and Netlify ensures that your application is live and accessible to users.
The above is the detailed content of How to Build and Deploy a Full-Stack MERN Application. For more information, please follow other related articles on the PHP Chinese website!