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

相关推荐
前端郭德纲11 分钟前
深入浅出ES6 Promise
前端·javascript·es6
就爱敲代码17 分钟前
ES6 运算符的扩展
前端·ecmascript·es6
天天进步201532 分钟前
Lodash:现代 JavaScript 开发的瑞士军刀
开发语言·javascript·ecmascript
王哲晓38 分钟前
第六章 Vue计算属性之computed
前端·javascript·vue.js
假装我不帅41 分钟前
js实现类似与jquery的find方法
开发语言·javascript·jquery
究极无敌暴龙战神X44 分钟前
CSS复习2
前端·javascript·css
风清扬_jd1 小时前
Chromium HTML5 新的 Input 类型week对应c++
前端·c++·html5
Hadoop_Liang1 小时前
Docker Compose一键部署Spring Boot + Vue项目
vue.js·spring boot·docker
Ellie陈1 小时前
Java已死,大模型才是未来?
java·开发语言·前端·后端·python
GISer_Jing2 小时前
React面试常见题目(基础-进阶)
javascript·react.js·前端框架