Webpack部署本地服务器

news2024/10/6 22:21:06

Webpack部署本地服务器

目录

  • Webpack部署本地服务器
    • 目的
    • 认识模块热替换(HMR)
      • 什么是 HMR
      • HMR 通过如下几种方式, 来提高开发的速度
      • 如何使用 HMR
      • host 配置


目的

完成自动编译
常用方式: webpack-dev-server

webpack-dev-server 是一个用于开发环境的 Web 服务器,它集成了 Webpack,并提供了实时重新加载和热替换等功能。以下是一个简单的 webpack-dev-server 配置和使用示例:

  1. 首先,确保已经安装了 webpack, webpack-cliwebpack-dev-server。如果没有安装,可以使用以下命令进行安装:
npm install --save-dev webpack webpack-cli webpack-dev-server -D   // 开发环境
  1. 在项目根目录下创建一个名为 webpack.config.js 的文件,用于存放 Webpack 配置信息:
const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist'),
  },
  devServer: {
    contentBase: path.join(__dirname, 'dist'),
    // 是否为静态文件开启 gzip compression 默认是false
    compress: true,
    port: 9000,
    // open 是否打开浏览器, 默认是 false 
    open: true,
    hot: true,
  },
};

这个配置文件定义了入口文件为 src/index.js,输出文件为 dist/main.js,并配置了 webpack-dev-server 的相关参数。

  1. 在项目的 package.json 文件中添加一个启动脚本:
{
  "scripts": {
    "serve": "webpack serve"
  }
}
  1. 现在,可以通过运行 npm run serve 命令来启动 webpack-dev-server。服务器将在端口 9000 上启动,并在默认浏览器中打开 http://localhost:9000。当你对 src/index.js 文件进行更改时,服务器将自动重新加载和热替换。

认识模块热替换(HMR)

什么是 HMR

 HMR的全称是Hot Module Replacement,翻译为模块热替换;
 模块热替换是指在 应用程序运行过程中,替换、添加、删除模块,而无需重新刷新整个页面;

HMR 通过如下几种方式, 来提高开发的速度

 不重新加载整个页面,这样可以保留某些应用程序的状态不丢失;
只更新需要变化的内容,节省开发的时间;
修改了css、js源代码,会立即在浏览器更新,相当于直接在浏览器的devtools中直接修改样式;

如何使用 HMR

默认情况下,webpack-dev-server已经支持HMR,我们只需要开启即可**(默认已经开启);**
在不开启HMR的情况下,当我们修改了源代码之后,整个页面会自动刷新,使用的是live reloading;

host 配置

◼ host设置主机地址:
 默认值是localhost;
 如果希望其他地方也可以访问,可以设置为 0.0.0.0;
port、open、compress
port设置监听的端口,默认情况下是8080
◼ open是否打开浏览器:
 默认值是false,设置为true会打开浏览器;
 也可以设置为类似于 Google Chrome等值;
◼ compress是否为静态文件开启gzip compression:
 默认值是false,可以设置为true;
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1566322.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文读懂!企业怎样才能选择适合自己的生产管理系统?

怎么选择适合所在企业的生产管理系统呢?该从哪些方面对生产管理系统进行评估?又怎样实现高效的生产管理呢? 本文我将和大家一起解决这些有关生产管理系统的问题? 生产管理系统模板,可直接查看和使用:https…

Rredis缓存常见面试题

文章目录 1.什么是缓存穿透,怎么解决2.什么是缓存击穿,怎么解决3.什么是缓存雪崩,怎么解决4.双写一致性问题5.redisson添加的排他锁是如何保证读写、读读互斥的6.为什么不使用延迟双删7.redis做为缓存,数据的持久化是怎么做的8.re…

【零基础C语言】编译和链接

1.翻译环境和运行环境 翻译环境:将源代码转化为可执行的机器指令 运行环境:用于执行机器指令 1.1 翻译环境 翻译环境由编译和链接两大过程构建,编译又可以分为三大过程: 【1】预处理(预编译) 【2】编译 【3】汇编 不同的.c文件经…

【数据处理包Pandas】多级索引的创建及使用

目录 一、元组作为一级索引(一)示例1(二)示例2 二、引入多级索引(一)多级索引的创建(二)多级索引中的数学选取 首先,导入 NumPy 库和 Pandas 库。 import numpy as np i…

MTU/TCPMSS/VLAN/ACCESS/TRUNK/HYBRID

MTU RFC标准定义以太网的默认MTU值为1500 最小64字节是为了保证最极端的冲突能被检测到,64字节是能被检测到的最小值;最大不超过1518字节是为了防止过长的帧传输时间过长而占用共享链路太长时间导致其他业务阻塞。所以规定以太网帧大小为64~1518字节&am…

Day17-【Java SE进阶】特殊文本文件、日志技术

一、特殊文本文件 为什么要用这些特殊文件? 存储多个用户的:用户名、密码 存储有关系的数据,做为系统的配置文件做为信息进行传输 日志技术 把程序运行的信息,记录到文件中,方便程序员定位bug、并了解程序的执行情…

代码块的理解

如果成员变量想要初始化的值不是一个硬编码的常量值,而是需要通过复杂的计算或读取文件、或读取运行环境信息等方式才能获取的一些值,该怎么办呢?此时,可以考虑代码块(或初始化块)。 代码块(或初始化块)的作…

Harmony创建Page省事小技巧

在创建Page页面时,选择ArkTS File时,创建的文件不会自动生成基础代码,也不会自动在main_page.json中自动进行注册,如何解决问题呢,其实很简单创建Page页面时选择Page项后就会创建Page文件,创建完的页面会自…

基于深度学习的铁轨缺陷检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要:本文深入研究了基于YOLOv8/v7/v6/v5的铁轨缺陷检测系统。核心技术上,文章采用了最先进的YOLOv8,并整合了YOLOv7、YOLOv6、YOLOv5算法,进行了性能指标的对比分析。文中详细阐述了国内外铁轨缺陷检测的研究现状、数据集处理方法…

封装一个vue3的公共组件

在Vue 3中,封装公共组件的场景包括但不限于以下几种情况: 重复使用的组件:如果你发现某个组件在多个地方重复使用,那么将其封装成公共组件是很有意义的。比如,页面中的各种表单控件(输入框、下拉框、日期选…

超级AI大脑产品架构图解析

一、概述 超级AI大脑是一个集成了先进的人工智能技术,为用户提供全方位、智能化的服务的产品。其产品架构图设计旨在清晰展现其技术层次、功能模块与业务流程,以确保用户能够高效、便捷地利用该产品。 二、技术层次 基础设施层: 服务器&…

大模型学习笔记八:手撕AutoGPT

文章目录 一、功能需求二、演示用例三、核心模块流程图四、代码分析1)Agent类目录创建智能体对象2)开始主流程3)在prompt的main目录输入主prompt和最后prompt4)增加实际的工具tools 一、功能需求 目的 设计一个 Agent&#xff0c…

yolov8姿态识别与绘制

YOLOv8姿态检测是一种基于深度学习的计算机视觉技术,用于识别图像或视频中人体的姿态。作为YOLO系列算法的最新版本,YOLOv8在姿态检测任务上展现出了卓越的性能和效率。以下将详细介绍YOLOv8姿态检测的原理、特点、应用以及训练过程。 一、YOLOv8姿态检…

快消企业数字化转型实战解析:探寻未来增长新动力

2024年,快消行业正站在数字化转型的风口浪尖。 “今年是过去十年最差的一年,但却可能是未来十年最好的一年。”这句话几乎成为了今年的流行语。 但是这句话是情绪,不是事实。未来十年,中国会成为全球最大的消费品市场&#xff0…

CSS基础选择器 小案例复习(画三个小盒子)

(大家好,前面我们学习了基础的选择器,俗话说:温故而知新。所以今天我们将通过小案例来复习前面学过的小知识点。另,十分感谢大家对我文章的支持❤️) 通过这个案例复习两个地方: 类选择器的使用…

AJAX —— 学习(三)

目录 一、jQuery 中的 AJAX (一)get 方法 1.语法介绍 2.结果实现 (二)post 方法 1.语法介绍 2.结果实现 (三)通用型的 AJAX 方法 1.语法介绍 2.结果实现 二、AJAX 工具库 axios (…

js 基础知识 forEach 和 map 的区别,及 map 不加 return 返回什么

问题一:forEach 和 map 之间的区别: 1、forEach 不返回新数组,map 返回新数组,其中包含回调函数的返回值。 2、用途:如果只想要遍历数组并对每个元素执行某些操作而不产生新数组,那么应该使用 forEach&am…

全网最强JavaWeb笔记 | 万字长文爆肝JavaWeb开发——day04_Maven入门

万字长文爆肝黑马程序员2023最新版JavaWeb教程。这套教程打破常规,不再局限于过时的老套JavaWeb技术,而是与时俱进,运用的都是企业中流行的前沿技术。笔者认真跟着这个教程,再一次认真学习一遍JavaWeb教程,温故而知新&…

ETL工具-nifi干货系列 第八讲 处理器PutDatabaseRecord 写数据库(详细)

1、本节通过一个小例子来讲解下处理器PutDatabaseRecord,该处理器的作用是将数据写入数据库。 如下流程通过处理器GenerateFlowFile 生成数据,然后通过处理器JoltTransformJSON转换结构,最后通过处理器PutDatabaseRecord将数据写入数据库。如…

软件架构风格_4.虚拟机体系结构风格

虚拟机体系结构风格的基本思想是人为构建一个运行环境,在这个环境之上,可以解析与运行自定义的一些语言,这样来增加架构的灵活性。虚拟机体系结构风格主要包括解释器风格和规则系统风格。 1.解释器体系结构风格 一个解释器通常包括完成解释工…