04webpack-webpack-dev-server时时跟新的第二种方式

简介: 04webpack-webpack-dev-server时时跟新的第二种方式

webpack-dev-server是webpack官方提供的一个小型Express服务器


使用它可以为webpack打包生成的资源文件提供web服务。

 

webpack-dev-server 主要提供两个功能:


为静态文件提供服务


自动刷新和热替换(HMR)


安装命令:


npm install --save-dev webpack-dev-server(别忘记安装)


第一种方式 自动打开浏览器 端口号 指定托管的跟目录 启动热刷新  这种是在

webpack.json中去配置的  


直接在package中 写


将“script”:{ "dev":"webpack-dev-server --open --port 3000 --contentBase src --hot"} 这里有4个指令

      第二种方式   自动打开浏览器 端口号 指定托管的跟目录 启动热刷新  

      在webpack.config.js文件中


      第一步:引入webpack

      const webpack=require("webpack");

      第二步:配置


devServer:{
           open:true,//自动打开浏览器
           port:3000,// 端口号
           contentBase:'src',// 指定托管的跟目录
           hot:true //启动热刷新
       }


第三步:配置热刷新这个插件的节点


plugins: [new webpack.HotModuleReplacementPlugin()]


完整代码如下===


 const path = require("path"); //路径模块
       //第2中方式配置webpack
       const webpack = require("webpack");
       // 配置文件 暴露出去哦 // 手动的指定入口和出口
       module.exports = {
       entry: path.join(__dirname, "./src/main.js"), //入口文件 使用webpack要打包哪一个文件
       output: {
       //输出相关的配置
       path: path.join(__dirname, "./dist"), //指定打包好的文件会输出到哪一个目录(dist)下去
       filename: "testindex.js" //指定打包好的文件的名称叫什么名字
       },
       devServer: {
       open: true, //自动打开浏览器
       port: 3000, //端口号
       contentBase: "src",//指定托管的根目录
       hot: true,  //启动热刷新
       },
       plugins: [new webpack.HotModuleReplacementPlugin()]  //这个就是热跟新的配置
       };
      启用命令
      npm  run  dev


需要注意的地方


因为现在webpack已经是4了;


所以需要安装npm i  webpack-cli -D


否者就会报错


Cannot find module 'webpack-cli/bin/config-yargs'


注意下面插件的安装环境


package.json文件内容如下


 {
            "devDependencies": {
              "webpack": "^4.44.2",
              "webpack-cli": "^3.3.12",
              "webpack-dev-server": "^3.11.0"
            },
            "scripts": {
              "dev": "webpack-dev-server"
            },
            "dependencies": {
              "jquery": "^3.5.1"
            }
          }


src下的index.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="/testindex.js"></script>
</head>
<body>
    <div>12</div>
    <div>222</div>
    <div>222</div>
</body>
</html>


注意这里的引用路径,


  因为webapck配置的时候,配置的是src目录下的testindex.js


  此时你更改这里的代码是不会热跟新的;


src下的main.js


import $ from "jquery";
$(function () {
  console.log("哈哈1-111啊大苏打");
  console.log("哈在手我的删除动阀案说现在辞职 法十分哈儿");
});


此时你发现,自动修改js文件,可以热跟新;


但是index.html却不可以热跟新


import $ from "jquery";
$(function () {
  console.log("哈哈1-111啊大苏打");
  console.log("哈在手我的删除动阀案说现在辞职 法十分哈儿");
});
相关文章
|
12月前
|
人工智能 测试技术 计算机视觉
LongLLaVA:香港中文大学推出的多模态上下文混合架构大语言模型
LongLLaVA是由香港中文大学推出的多模态大型语言模型,采用混合架构,结合Mamba和Transformer模块,旨在高效处理大量图像数据。该模型能够在单个A100 80GB GPU上处理多达1000张图像,通过2D池化技术压缩图像token,显著降低计算成本,同时保留关键的空间关系信息。LongLLaVA在视频理解、高分辨率图像分析和多模态代理等应用场景中展现出卓越的性能。
209 5
LongLLaVA:香港中文大学推出的多模态上下文混合架构大语言模型
|
vr&ar 数据安全/隐私保护 网络架构
一文带你了解WiFi7,比WiFi6强多了!
【10月更文挑战第2天】
2307 1
一文带你了解WiFi7,比WiFi6强多了!
|
存储 Java Maven
maven教程(2)
maven教程(2)
90 0
【PTA天梯赛】L1-011 —— L1-020 c++ 题解
【PTA天梯赛】L1-011 —— L1-020 c++ 题解
541 0
|
存储 Java Unix
故事从冯·诺依曼说起——计算机体系结构发展史(一)
故事从冯·诺依曼说起——计算机体系结构发展史(一)
276 0
|
存储 Java 测试技术
Idea工具中创建 SpringBoot工程及入门详解
Idea工具中创建 SpringBoot工程及入门详解
1448 4
Idea工具中创建 SpringBoot工程及入门详解
|
存储 监控 NoSQL
|
IDE 开发工具 Python
Java 将以逗号‘,’隔开的字符串String转换为Integer[] 数组
Java 将以逗号‘,’隔开的字符串String转换为Integer[] 数组
560 0