【vue】devserver及其配置

【vue】devserver及其配置一 devserver 背景介绍每次改代码都需要重新部署 或者只改变修改代码行的效果所以出现了 devserver 本地服务为了完成自动编译 webpack 提供了几种可选的模式方式一 webpackwatch 实现方法一 在导出的配置中 添加 watch true 实现方法二 在启动 webpack 的命令中 添加 watch 的标识方式二 webpack dev server 常用 二 webpack dev server 上面的方式可以监听到文件的变化 但是事实上它本身没有自动刷新浏

一、devserver背景

  1. 实现方法一: 在导出的配置中,添加watch:true
  2. 实现方法二: 在启动webpack的命令中,添加–watch的标识

方式二:webpack-dev-server(常用)

二、webpack-dev-server

在这里插入图片描述

三、对devserver进行一些配置:

在webpack.config.js中,写上

devServer:{ contantBase:"./abc" } 

如果index.html里

, 打包时会去找abc/aaa.js,这就是contantBase的作用,可以理解为去源代码里找文件,一般值是”./public”

因为webpack.config.js中配置了webcopyPlugin,如果没有配置,那么就不会
拷贝图片等静态文件,这时候就需要去public文件夹中寻找。






四、模块热替换HMR

target:"web" devserver:{ contantBase:"./abc", hot:true,//热更新 open:true,//build自动打开浏览器 host://默认lolaohost,也可0.0.0.0,这样同一网段的主机都能通过ip访问 port:7777//访问项目时的端口号 compress:true浏览器请求静态资源时压缩一下,打开浏览器的检查时可以看到bundle.js的content-encoding是gzip,浏览器自动解压 } 
main.js中,import "./js/element":改为 import "./js/element": if(module.hot){ module.hot.accept("./js/element.js",()=>{ console.log("模块发生更新了") } } 

五、跨域访问问题:

六、webpack的resolve:

import时后边的括号可以写:

  • 相对路径
  • 绝对路径
  • node_module

七、区分开发环境和生产环境

npm install webpack-merge

const {cleanWebpackPlugin}=require("clean-webpack-plugin")
const copyWebpackPlugin = require("copy-webpack-plugin")
const {merge} =require("webpack-merge")
const commonConfig= require("./config/webpack.common.config.js")

module.exports=merge(commonConfig,{
   mode:"production",
   plugins: [
new CleanWebpackPlugin(),
new CopyWebpackPlugin({
    patterns: [
      {
         from: ' "public" ,
         to: "./",
        glob0ptions: {
           ignore: [
              "/ index . html"
           ]}
       }
    ]
  }))
]

新建文件webpack.dev.config.js

module.exports={ mode:"development", devtool:"source-map", devserver:{ contantBase:"./abc", hot:true, open:true, host: port:7777 proxy:{ "/api":"http://localhost:8888" } } } 

新建文件webpack.common.js

module.exports={ 公共的一些配置留在这个文件里 } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218830.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:22
下一篇 2026年3月17日 下午11:23


相关推荐

  • 数据挖掘项目总结文档模板_数据挖掘实训心得

    数据挖掘项目总结文档模板_数据挖掘实训心得数据挖掘项目总结文档1、文档概述1.1编写目的记录本次实验思路及流程,备忘用。1.2适用对象个人学习总结,描述有偏差之处陆续更进。2、业务理解与分析定义2.1需求概述针对传统网络入侵检测系统存在的误判以及漏检情况,采用数据挖掘的指导思想,通过大量的攻击样本数据进行知识发现,本次实验采用的kdd99数据集,其中包含了大量的模拟攻击行为。1998年美国国防

    2025年9月15日
    6
  • vsftp怎么用_不使用网络客户端怎么设置

    vsftp怎么用_不使用网络客户端怎么设置FTPDocument1FTP支持两种模式。这两种模式被称为“标准”(或“主动”)模式和“被动”(或“PASV”)模式。“标准”模式FTP客户端向FTP服务器发送PORT命令。“被动”模式客户端向FTP服务器发送PASV命令。这两条命令是通过FTP命令通道发送的。“标准”模式FTP客户端首先建立一个到FTP服务器上TCP端口21的连接。此连接会建立FTP命令通道。当FTP客户端需要接收数据(例如文…

    2026年3月8日
    3
  • maven快照更新策略_eclipse更新maven包

    maven快照更新策略_eclipse更新maven包1、为什么会有快照?开发中,A项目依赖于项目B,没有快照时,B每次改动我们就需要赋予给他一个新版本号,然后在A的pom.xml中修改B的版本,这不仅浪费版本号,而且会带来很多的沟通成本。快照就是为了解决这个问题而生的,每次B发布到私服,maven都会将B打上时间戳,A更新时会检查B的时间戳,如果晚于本地仓库B的时间戳,那么就会进行更新。2、快照更新策略注意,快照并不是每次ins

    2022年10月4日
    4
  • 数据库基础(常用SQL语句)[通俗易懂]

    数据库基础(常用SQL语句)[通俗易懂]一、数据库级及SQL语言简介1、目前主流数据库微软:sqlserver、access瑞典:mysqlibm:db2sybase:sybaseibm:informixoracle:oracle2、SQL语言DQL————-数据查询语言select…From…WhereDML————-数据操纵语言insert、upda…

    2022年5月6日
    47
  • JS获取url参数(超简单)

    JS获取url参数(超简单)Location 对象包含有关当前 URL 的信息 Location 对象是 Window 对象的一个部分 可通过 window location 属性来访问 hash 设置或返回从井号 开始的 URL 锚 host 设置或返回主机名和当前 URL 的端口号 hostname 设置或返回当前 URL 的主机名 href 设置或返回完整的

    2026年3月19日
    2
  • js获取现在时间_js中如何动态显示日期时间

    js获取现在时间_js中如何动态显示日期时间js可以通过Date对象获取当前日期和时间,使用Date()获取系统当前时间,在使用getFullYear()、getMonth()、getDate()、getHours()等方法获取特定格式的时间,在使用innerHTM方法显示。首先我们来了解一下js获取当前时间所需的一些方法:获取当前时间:vard=newDate();//获取系统当前时间获取特定格式的时间:1、获取当前年份getYear()方法:可以获取年份(2位或4位),其返回值是表示当前Date对象的年份字

    2025年11月29日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号