configuration-vue.config.js devServer配置

1.vue.config.js

在 Vue CLI 项目中,vue.config.js 文件用于配置 Vue 项目的各种选项。其中,devServer 配置允许你自定义开发服务器的行为。

2.基本配置

javascript 复制代码
module.exports = {  
  devServer: {  
    // 开发服务器的地址  
    host: '0.0.0.0', // 默认为 localhost  
    port: 8080,      // 默认为 8080  
  
    // 是否启用 https  
    https: false,  
  
    // 是否自动打开浏览器  
    open: true,  
  
    // 代理配置  
    proxy: {  
      '/api': {  
        target: 'http://localhost:5000', // 目标服务器地址  
        changeOrigin: true,              // 是否允许跨域  
        pathRewrite: { '^/api': '' },    // 重写路径  
      },  
      '/auth': {  
        target: 'http://auth.example.com',  
        changeOrigin: true,  
      },  
    },  
  
    // 可以在开发服务器中使用 before 命令钩子  
    before: function (app, server) {  
      // app 是一个 express 实例  
      // server 是 http 服务器实例  
      console.log('开发服务器启动中...');  
    },  
  
    // 可以在开发服务器中使用 after 命令钩子  
    after: function (app, server) {  
      console.log('开发服务器已启动');  
    },  
  
    // 是否启用热重载  
    hot: true,  
  
    // 热重载的接口前缀  
    hotOnly: false,  
  
    // 开发服务器的头部信息  
    headers: {  
      'Access-Control-Allow-Origin': '*',  
    },  
  
    // 静态文件目录  
    static: './public',  
  
    // 监听的文件变动  
    watchOptions: {  
      poll: 1000, // 每秒轮询一次  
    },  
  
    // 是否启用压缩  
    compress: true,  
  
    // 客户端日志输出的级别  
    clientLogLevel: 'warning',  
  
    // 是否显示编译进度  
    progress: true,  
  
    // 覆盖 webpack-dev-middleware 的设置  
    devMiddleware: {  
      stats: 'errors-only',  
    },  
  
    // 覆盖 webpack-hot-middleware 的设置  
    hotMiddleware: {},  
  
    // 是否在浏览器控制台显示构建错误  
    overlay: {  
      errors: true,  
      warnings: false,  
    },  
  
    // 代理配置的其他选项  
    proxyOptions: {  
      // 代理请求的超时时间  
      timeout: 5000,  
    },  
  },  
};
  • host : 指定开发服务器的主机地址。设置为 '0.0.0.0' 可以让其他设备访问你的开发服务器。

  • port: 开发服务器的端口号。

  • https: 是否启用 HTTPS。

  • open: 是否在启动开发服务器时自动打开浏览器。

  • proxy: 代理配置,用于解决开发环境中跨域请求的问题。

  • before/after: 在开发服务器启动前后执行的钩子函数。

  • hot: 是否启用热重载(模块热替换)。

  • hotOnly: 仅启用热重载,禁用浏览器刷新。

  • headers: 为所有响应添加 HTTP 头部。

  • static: 静态文件的目录。

  • watchOptions: 文件系统监控选项。

  • compress: 是否启用 gzip 压缩。

  • clientLogLevel: 控制台日志输出的级别。

  • progress: 是否显示编译进度。

  • devMiddleware: 覆盖 webpack-dev-middleware 的设置。

  • hotMiddleware: 覆盖 webpack-hot-middleware 的设置。

  • overlay: 是否在浏览器控制台显示构建错误和警告。

  • proxyOptions: 代理配置的其他选项,如超时时间。

3.注意

  1. 代理配置 :使用代理配置时,要确保目标服务器地址正确,并且 changeOriginpathRewrite 等选项设置合理。

  2. 安全性 :在生产环境中不要启用 devServer 配置,这些配置仅用于开发环境。

  3. 热重载:热重载可以显著提升开发效率,但有时候可能会引入一些调试上的困难。

相关推荐
学不会•15 分钟前
css数据不固定情况下,循环加不同背景颜色
前端·javascript·html
EasyNTS1 小时前
H.264/H.265播放器EasyPlayer.js视频流媒体播放器关于websocket1006的异常断连
javascript·h.265·h.264
活宝小娜3 小时前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点3 小时前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow3 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o3 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
开心工作室_kaic4 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā4 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
沉默璇年5 小时前
react中useMemo的使用场景
前端·react.js·前端框架
yqcoder5 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript