@vue/cli4.x的vue.config.js常用配置

设置访问端口号、访问IP地址、跨域代理,路径别名

const path = require('path')
const CompressionPlugin = require('compression-webpack-plugin') // compression-webpack-plugin插件需要npm安装
function resolve(dir) {
    return path.join(__dirname, dir)
}
module.exports = {
  // // 关闭eslint校验, 项目开发中建议开启。这个只是在特殊情况下方便测试时关闭
  // devServer: {
  //   overlay: {
  //     warining: true,
  //     errors: true,
  //   },
  // },
  // lintOnSave: false,
  // 配置部署应用包时的基本 URL(如果有需要,发现放到服务器上静态资源路径请求不对的情况可以看着修改)
  // publicPath: process.env.NODE_ENV === 'production'
  //   ? '/winne-test/'
  //   : '/'
  lintOnSave: 'error', // 设置eslint报错时停止代码编译
  productionSourceMap: false, // 不需要生产环境的 source map(减小dist文件大小,加速构建)
  devServer: {
    open: true,  // npm run serve后自动打开页面
    host: '0.0.0.0',  // 匹配本机IP地址(默认是0.0.0.0)
    port: 8989, // 开发服务器运行端口号
    proxy: {
      '/api': {
         target: 'http://www.exaple.com', // 代理接口地址
         secure: false,  // 如果是https接口,需要配置这个参数
         changeOrigin: true, // 是否跨域
         pathRewrite: {
           '^/api': ''   //需要rewrite的, 这里理解成以'/api'开头的接口地址,把/api代替target中的地址
        }
      }
    }
  },
  chainWebpack: (config) => { 
    // 移除 prefetch 插件(针对生产环境首屏请求数进行优化)
    config.plugins.delete('prefetch')
    // 移除 preload 插件(针对生产环境首屏请求数进行优化)   preload 插件的用途:https://cli.vuejs.org/zh/guide/html-and-static-assets.html#preload
    config.plugins.delete('preload')
    // 第1个参数:别名,第2个参数:路径  (设置路径别名)
    config.resolve.alias
    .set('@pages', resolve('./src/page'))
    .set('@router', resolve('./src/router'))
    .set('@store', resolve('./src/store'))
    .set('@utils', resolve('./src/utils'))
  },
  // 配置打包 js、css文件为.gz格式,优化加载速度  (参考:https://blog.csdn.net/qq_31677507/article/details/102742196)
  configureWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
      return {
        plugins: [new CompressionPlugin({
          test: /\.js$|\.css/, // 匹配文件
          threshold: 10240, // 超过10kB的数据进行压缩
          deleteOriginalAssets: false // 是否删除原文件 (原文件也建议发布到服务器以支持不兼容gzip的浏览器)
        })],
        performance: { // 生产环境构建代码文件超出以下配置大小会在命令行中显示警告
          hints: 'warning',
          // 入口起点的最大体积 整数类型(以字节为单位,默认值是:250000 (bytes))
          maxEntrypointSize: 5000000,
          // 生成文件的最大体积 整数类型(以字节为单位,默认值是:250000 (bytes))
          maxAssetSize: 3000000
          // // 只给出 js 文件的性能提示
          // assetFilter: function (assetFilename) {
          //   return assetFilename.endsWith('.js')
          // }
        }
      }
    }
  }
}

vue-cli4.*配置vue.config.js文件配置内容不生效

使用vue-cli时系统会自动帮我们做好一些通用的配置,当我们需要自己再单独定义一些配置时,只需在项目根目录下创建vue.config.js,然后在这个文件里面添加配置即可。

但是在项目中发现更改vue.config.js的内容后并没有起到任何效果

解决

每次更新完vue.config.js停掉热部署(npm run serve),然后再重新开启服务。

目录结构:

在这里插入图片描述

vue.config.js配置示例:

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持Devmax。

@vue/cli4.x版本的vue.config.js常用配置方式的更多相关文章

  1. Yii2语言国际化自动配置详解

    这篇文章主要介绍了Yii2语言国际化自动配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. SpringMVC静态资源配置过程详解

    在javaweb项目中配置了DispatcherServlet的情况下,如果不进行额外配置的话,几乎所有的请求都会走这个servlet来处理,默认静态资源按路径是访问不到的会报404错误,下面就来讲一讲如何配置才能访问到静态资源吧

  3. 关于@RequestLine的使用及配置

    这篇文章主要介绍了关于@RequestLine的使用及配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  4. SpringBoot配置拦截器实现过程详解

    在系统中经常需要在处理用户请求之前和之后执行一些行为,例如检测用户的权限,或者将请求的信息记录到日志中,即平时所说的"权限检测"及"日志记录",下面这篇文章主要给大家介绍了关于在SpringBoot项目中整合拦截器的相关资料,需要的朋友可以参考下

  5. SpringBoot浅析安全管理之Spring Security配置

    安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题,这篇文章主要介绍了SpringBoot安全管理Spring Security基本配置

  6. Vue如何实现多页面配置以及打包方式

    这篇文章主要介绍了Vue如何实现多页面配置以及打包方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. PHP网站自动化配置的实现方法(必看)

    下面小编就为大家带来一篇PHP网站自动化配置的实现方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. 轻松玩转Java配置的Classpath

    和Java类路径打交道的过程中,开发者偶尔会遇到麻烦。例如,大多数Servlet引擎使用定制的类装载器,动态地装入那些在classpath指定的目录内发生变化的类。这个工具要求指定一个Java类的名字,然后根据classpath的指引,找出类装载器即将装载的类所在位置的绝对路径。

  9. 解决Springboot配置excludePathPatterns不生效的问题

    这篇文章主要介绍了解决Springboot配置excludePathPatterns不生效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  10. 详解如何利用jasypt实现配置文件加密

    Jasypt (Java Simplified Encryption) 是一个 java 库,它允许开发人员以最小的成本将基本的加密功能添加到项目中,而无需深入了解密码学的工作原理。本文将利用jasypt实现配置文件加密,感兴趣的可以学习一下

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部