search
HomeWeb Front-endFront-end Q&ANodejs deploys front-end projects on the server

In front-end development, Node.js has become a very important role. It not only helps us manage dependencies, but also helps us build a convenient and easy-to-use server for debugging when developing locally. But when putting the front-end project into the production environment, we need to deploy the Node.js server to ensure that our project can run smoothly on the server.

This article will explain how to use Node.js to deploy front-end projects to the server. It mainly includes the following steps:

  1. Confirm the server environment

Before deployment, we need to confirm whether the Node.js environment has been installed on the server. If it is not installed, you can follow the following steps to install it:

  • Open the terminal and enter the following command to install Node.js:
sudo apt install nodejs
  • Confirm whether the installation is successful, enter The following command checks the Node.js version:
node -v

If the Node.js version number appears, it means it has been installed successfully.

  1. Confirm front-end project dependencies

To deploy a front-end project, you need to confirm whether all the libraries or plug-ins the project depends on have been installed. You can view all dependencies by running the following command in your local development environment:

npm list

This command will list all libraries and their dependencies in the node_modules folder. If the dependencies change, you need to update them with the following command:

npm install
  1. Write server script

After the server environment and front-end project dependencies are confirmed, we A script needs to be written to start the server. The following is a simple Node.js server script code example:

const express = require('express')
const app = express()

app.use(express.static('public'))

app.listen(3000, () => {
  console.log('App listening on port 3000!')
})

This example code uses the Express framework to convert static files (such as HTML, CSS and JavaScript) in the public folder exposed on the server. Visit localhost:3000 in the browser to view the static files.

If your front-end application is a single page application (SPA), you may need to have all routes point to index.html instead of trying to load the HTML file corresponding to the route. Here is a code example for configuring a route map via Node.js:

app.get('*', function(req, res) {
  res.sendFile(path.join(__dirname, 'public/index.html'))
})

The above code snippet will configure the same response for all requests, i.e. look for index in the directory public. html and return it as the response.

  1. Deploy the project to the server

The best way to deploy the code to the server is to use Git. The following are sample steps:

  • Connect to the Git repository via SSH on the server. First you need to install Git:
sudo apt-get install git
  • Create the project folder:
mkdir project_name && cd project_name
  • Clone project:
git clone git@github.com:<your_username>/<your_repository_name>.git ./</your_repository_name></your_username>
  • Install dependent libraries:
npm install
  • Copy the server script to the project file Folder:
cp /path/to/server.js ./
  1. Use PM2 to manage the server

After completing the above steps, you can use Node.js to run the application on the server. However, if the server crashes or the application behaves abnormally, you may need to manually restart the server and application. Therefore, we need to use a process manager, and PM2 is a good choice.

First you need to install PM2 on the server:

sudo npm install pm2 -g

Next, we use the PM2 command to run the server in the background:

pm2 start server.js --name=<app_name></app_name>

whereapp_name is you Give the project a name. You can view the list of applications running by PM2 using the following command:

pm2 list

Close the application using the following command:

pm2 stop <app_name></app_name>

Restart the application using the following command:

pm2 restart <app_name></app_name>

In this article, We explained how to use Node.js to deploy front-end projects to the server. Armed with this knowledge, you should be able to smoothly deploy your front-end project into a production environment and manage the process through PM2.

The above is the detailed content of Nodejs deploys front-end projects on the server. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
CSS: Can I use multiple IDs in the same DOM?CSS: Can I use multiple IDs in the same DOM?May 14, 2025 am 12:20 AM

No,youshouldn'tusemultipleIDsinthesameDOM.1)IDsmustbeuniqueperHTMLspecification,andusingduplicatescancauseinconsistentbrowserbehavior.2)Useclassesforstylingmultipleelements,attributeselectorsfortargetingbyattributes,anddescendantselectorsforstructure

The Aims of HTML5: Creating a More Powerful and Accessible WebThe Aims of HTML5: Creating a More Powerful and Accessible WebMay 14, 2025 am 12:18 AM

HTML5aimstoenhancewebcapabilities,makingitmoredynamic,interactive,andaccessible.1)Itsupportsmultimediaelementslikeand,eliminatingtheneedforplugins.2)Semanticelementsimproveaccessibilityandcodereadability.3)Featureslikeenablepowerful,responsivewebappl

Significant Goals of HTML5: Enhancing Web Development and User ExperienceSignificant Goals of HTML5: Enhancing Web Development and User ExperienceMay 14, 2025 am 12:18 AM

HTML5aimstoenhancewebdevelopmentanduserexperiencethroughsemanticstructure,multimediaintegration,andperformanceimprovements.1)Semanticelementslike,,,andimprovereadabilityandaccessibility.2)andtagsallowseamlessmultimediaembeddingwithoutplugins.3)Featur

HTML5: Is it secure?HTML5: Is it secure?May 14, 2025 am 12:15 AM

HTML5isnotinherentlyinsecure,butitsfeaturescanleadtosecurityrisksifmisusedorimproperlyimplemented.1)Usethesandboxattributeiniframestocontrolembeddedcontentandpreventvulnerabilitieslikeclickjacking.2)AvoidstoringsensitivedatainWebStorageduetoitsaccess

HTML5 goals in comparison with older HTML versionsHTML5 goals in comparison with older HTML versionsMay 14, 2025 am 12:14 AM

HTML5aimedtoenhancewebdevelopmentbyintroducingsemanticelements,nativemultimediasupport,improvedformelements,andofflinecapabilities,contrastingwiththelimitationsofHTML4andXHTML.1)Itintroducedsemantictagslike,,,improvingstructureandSEO.2)Nativeaudioand

CSS: Is it bad to use ID selector?CSS: Is it bad to use ID selector?May 13, 2025 am 12:14 AM

Using ID selectors is not inherently bad in CSS, but should be used with caution. 1) ID selector is suitable for unique elements or JavaScript hooks. 2) For general styles, class selectors should be used as they are more flexible and maintainable. By balancing the use of ID and class, a more robust and efficient CSS architecture can be implemented.

HTML5: Goals in 2024HTML5: Goals in 2024May 13, 2025 am 12:13 AM

HTML5'sgoalsin2024focusonrefinementandoptimization,notnewfeatures.1)Enhanceperformanceandefficiencythroughoptimizedrendering.2)Improveaccessibilitywithrefinedattributesandelements.3)Addresssecurityconcerns,particularlyXSS,withwiderCSPadoption.4)Ensur

What are the main areas where HTML5 tried to improve?What are the main areas where HTML5 tried to improve?May 13, 2025 am 12:12 AM

HTML5aimedtoimprovewebdevelopmentinfourkeyareas:1)Multimediasupport,2)Semanticstructure,3)Formcapabilities,and4)Offlineandstorageoptions.1)HTML5introducedandelements,simplifyingmediaembeddingandenhancinguserexperience.2)Newsemanticelementslikeandimpr

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.