Home Web Front-end Front-end Q&A In-depth analysis of devServer configuration to achieve real-time compilation issues

In-depth analysis of devServer configuration to achieve real-time compilation issues

Aug 09, 2022 pm 03:22 PM
webpack

This article brings you relevant knowledge about javascript, which mainly introduces issues related to devServer configuration to achieve real-time compilation. Webpack-dev-server mainly starts a program using express. Http server, let’s take a look at it, I hope it will be helpful to everyone.

In-depth analysis of devServer configuration to achieve real-time compilation issues

[Related recommendations: javascript video tutorial, web front-end]

Every time you change the code It needs to be repackaged, open the browser, and refresh, which is very troublesome

We can install and use webpackdevserver to improve this experience

webpack-dev-server mainly starts a server using express HTTP server. Its main function is to serve resource files. In addition, this Http server and client use the websocket communication protocol. After the original file is changed, webpack-dev-server will compile it in real time, but the final compiled file is not output to the target folder, which is the original configuration in our output below. : The dist folder is generated after packaging, but the dist directory is not generated using dev-server

output: {
        path: './dist/js',
        filename: 'bundle.js'
    }
Copy after login

After starting the service, you will find that the dist directory is gone. This is because devServer will not generate the packaged module. Place it in the dist directory instead of in memory to improve speed

Installation: npm install webpack-dev-server -D

Modify package.json:

In-depth analysis of devServer configuration to achieve real-time compilation issues

Then you can execute npm run server to start our service

Configure in webpack.config.js:

In-depth analysis of devServer configuration to achieve real-time compilation issues

Cross-domain: During joint debugging, the front-end and back-end are separated, and directly obtaining data will cross domains. After going online, we use nginx to forward. During development, webpack can handle this

Application Scenario: We have used express to create interfaces and data ourselves. When we access these interfaces, cross-domain problems will occur. Previously, we used to set the response header in server.js to allow cross-domain. But now you can also use the devServer proxy.

1. Prepare the node service and create server.js in the project root directory. Take the express creation service as an example:

In-depth analysis of devServer configuration to achieve real-time compilation issues

2.webpack.config, configure devServer in the js file:

In-depth analysis of devServer configuration to achieve real-time compilation issues

## 3. Install axios and introduce it in the entry file index.js , use axios to request interface data

In-depth analysis of devServer configuration to achieve real-time compilation issues

The front browser gets the result:

In-depth analysis of devServer configuration to achieve real-time compilation issues

Hot Module Replacement (HMR: Hot Module Replacement) is a module that comes with webpack and does not require additional installation.

Configure hmr:

1) Configuration file The webpack.config.js header introduces webpack

const webpack = require("webpack");
Copy after login

2) Add in the plug-in configuration:

plugins: [
    new webpack.HotModuleReplacementPlugin()
]
Copy after login
3) Start hmr

In-depth analysis of devServer configuration to achieve real-time compilation issues

The above configuration does not work for js hot update. The page will still be refreshed when saving to achieve the update effect:

We have two b.js and a.js files

b.js In return 1

In-depth analysis of devServer configuration to achieve real-time compilation issues

introduce b.js into a.js, and write the execution result of data b into the page as a number

In-depth analysis of devServer configuration to achieve real-time compilation issues

In the entry file index.js, introduce a and run npm run server (our hot update configuration remains unchanged)

In-depth analysis of devServer configuration to achieve real-time compilation issues

Then we Open the page, change the value of b() 1000 in a.js, and then press ctrl s to save. You will find that the value can only be updated after the page is refreshed. This is obviously not what we want to see. For hot updates of js, we need to listen to the file to be executed in the entry file:

In-depth analysis of devServer configuration to achieve real-time compilation issues

After changing the value in a.js After saving, there is no need to refresh the page, the value will be calculated as the latest value and displayed on the page

In-depth analysis of devServer configuration to achieve real-time compilation issues

Summary: HMR supports CSS hot updates by default, but requires separate monitoring for js.

[Related recommendations: javascript video tutorial, web front-end

The above is the detailed content of In-depth analysis of devServer configuration to achieve real-time compilation issues. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

VUE3 Getting Started Tutorial: Packaging and Building with Webpack VUE3 Getting Started Tutorial: Packaging and Building with Webpack Jun 15, 2023 pm 06:17 PM

Vue is an excellent JavaScript framework that can help us quickly build interactive and efficient web applications. Vue3 is the latest version of Vue, which introduces many new features and functionality. Webpack is currently one of the most popular JavaScript module packagers and build tools, which can help us manage various resources in our projects. This article will introduce how to use Webpack to package and build Vue3 applications. 1. Install Webpack

What is the difference between vite and webpack What is the difference between vite and webpack Jan 11, 2023 pm 02:55 PM

Differences: 1. The startup speed of the webpack server is slower than that of Vite; because Vite does not require packaging when starting, there is no need to analyze module dependencies and compile, so the startup speed is very fast. 2. Vite hot update is faster than webpack; in terms of HRM of Vite, when the content of a certain module changes, just let the browser re-request the module. 3. Vite uses esbuild to pre-build dependencies, while webpack is based on node. 4. The ecology of Vite is not as good as webpack, and the loaders and plug-ins are not rich enough.

How to use PHP and webpack for modular development How to use PHP and webpack for modular development May 11, 2023 pm 03:52 PM

With the continuous development of web development technology, front-end and back-end separation and modular development have become a widespread trend. PHP is a commonly used back-end language. When doing modular development, we need to use some tools to manage and package modules. Webpack is a very easy-to-use modular packaging tool. This article will introduce how to use PHP and webpack for modular development. 1. What is modular development? Modular development refers to decomposing a program into different independent modules. Each module has its own function.

How does webpack convert es6 to es5 module? How does webpack convert es6 to es5 module? Oct 18, 2022 pm 03:48 PM

Configuration method: 1. Use the import method to put the ES6 code into the packaged js code file; 2. Use the npm tool to install the babel-loader tool, the syntax is "npm install -D babel-loader @babel/core @babel/preset- env"; 3. Create the configuration file ".babelrc" of the babel tool and set the transcoding rules; 4. Configure the packaging rules in the webpack.config.js file.

Use Spring Boot and Webpack to build front-end projects and plug-in systems Use Spring Boot and Webpack to build front-end projects and plug-in systems Jun 22, 2023 am 09:13 AM

As the complexity of modern web applications continues to increase, building excellent front-end engineering and plug-in systems has become increasingly important. With the popularity of Spring Boot and Webpack, they have become a perfect combination for building front-end projects and plug-in systems. SpringBoot is a Java framework that creates Java applications with minimal configuration requirements. It provides many useful features, such as automatic configuration, so that developers can build and deploy web applications faster and easier. W

What is Webpack? Detailed explanation of how it works? What is Webpack? Detailed explanation of how it works? Oct 13, 2022 pm 07:36 PM

Webpack is a module packaging tool. It creates modules for different dependencies and packages them all into manageable output files. This is especially useful for single-page applications (the de facto standard for web applications today).

What files can vue webpack package? What files can vue webpack package? Dec 20, 2022 pm 07:44 PM

In vue, webpack can package js, css, pictures, json and other files into appropriate formats for browser use; in webpack, js, css, pictures, json and other file types can be used as modules. Various module resources in webpack can be packaged and merged into one or more packages, and during the packaging process, the resources can be processed, such as compressing images, converting scss to css, converting ES6 syntax to ES5, etc., which can be recognized by HTML. file type.

How to install webpack in vue How to install webpack in vue Jul 25, 2022 pm 03:27 PM

Webpack in vue is installed using the node package manager "npm" or the npm image "cnpm". Webpack is a static module packaging tool for modern JavaScript applications. It is developed based on node.js. It requires node.js component support when using it. It needs to be installed using npm or cnpm. The syntax is "npm install webpack -g" or "cnpm install webpack -g".

See all articles