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. 热重载:热重载可以显著提升开发效率,但有时候可能会引入一些调试上的困难。

相关推荐
前端双越老师7 分钟前
前端面试常见的 10 个场景题
前端·面试·求职
孟祥_成都1 小时前
【全网最通俗!新手到AI全栈开发必读】 AI 是如何进化到大模型的
前端·人工智能·全栈
牛奶1 小时前
AI辅助开发的基础概念
前端·人工智能·ai编程
摸鱼的春哥1 小时前
Agent教程15:认识LangChain,Agent框架的王(上)
前端·javascript·后端
明月_清风2 小时前
自定义右键菜单:在项目里实现“选中文字即刻生成新提示”
前端·javascript
明月_清风2 小时前
告别后端转换:高质量批量导出实战
前端·javascript
刘发财7 小时前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
牛奶9 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶9 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
Kagol12 小时前
🎉OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用!
前端·开源·agent