vue.config.js

2023-11-16

vue.config.js相关的知识信息
一,vue.config.js是vue打包管理的配置文件,旨在给开发者们自定义自己的配置

1,该文件的根式统一,为导出配置项选项。例如:

在这里插入图片描述

在对象里面书写我们自己的配置项目。

二,具体的配置内容(项目中常用的)

1,publicPath: “/” (这是默认值,为站点跟目录),在.html文件中,“/“ 就代表站点的根目录。

例如:配置后结果
在这里插入图片描述

例如:当配置使用默认值,就是不配置时的结果

在这里插入图片描述

当我们结合打包时的一般用法是:(根据环境的不同配置的路径不同,这个也是需要配置,具体请参考相关文档)

在这里插入图片描述
  2,outputDir(打包时输出的文档路径)默认值为”dist“

3,assetsDir(放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录)默认值为空,这个时相对于outputDir的,如果outputDir为dist,则就在dist下创建相关文件夹。

4,lintOnSave(在开发环境下通过 eslint-loader 在每次保存时 lint 代码。这个值会在 @vue/cli-plugin-eslint 被安装之后生效)

5,runtimeCompiler(默认值为false,是否使用包含运行时编译器的 Vue 构建版本。设置为 true 后你就可以在 Vue 组件中使用 template选项了,但是这会让你的应用额外增加 10kb 左右)

6,devServer(值为对象,配置开发环境的服务器配置,例如:host,port,https等)

在这里插入图片描述

7,devServer.proxy(是第6项的子配置,配置代理服务器,值可以是对象,也可以是字符串;如果你的前端应用和后端 API 服务器没有运行在同一个主机上,你需要在开发环境下将 API 请求代理到 API 服务器)

devServer.proxy 的详解

我们最终的请求地址:http://47.107.135.218/api/index.php

首先我们的请求:
在这里插入图片描述

配置代理:

在这里插入图片描述

原理剖析:当我们访问的url路径中含有 “/apiavatardatacn” 字符传的时候,与配置的代理有关联字段。

1,如果配置的 pathRewrite:{ } 对象,如上图所示,就会将 “/apiavatardatacn/api/index.php” 路径重写为 “http://47.107.135.218/api/index.php” 意思就是,/apiavatardatacn 的字符串置空,然后又targe的值替换。

2,如果没有配置 pathRewrite:{ } 对象,如下图,就会将 “/apiavatardatacn/api/index.php” 路径重写为 “http://47.107.135.218/apiavatardatacn/api/index.php”,显然此时的 “/apiavatardatacn”就是多余的。

所以以上就是 pathRewrite 配置与否的作用
在这里插入图片描述

二、PROXY中跨域中PATHREWRITE配置理解

  1. vue本地项目调试线上接口出现跨域问题
  2. 通过在 config/index.js 配置文件中找到proxyTable配置项
dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/api': {
        target: 'http://XX.XX.XX.XX:8083',
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/api'   // 这种接口配置出来实际请求     http://XX.XX.XX.XX:8083/api/login
          //'^/api': '/' 这种接口配置出来实际请求 http://XX.XX.XX.XX:8083/login
        }
      }
    }
  },
  1. 配置完成后需要重新编译一遍 , 调用接口的时候
 // 获取菜单权限
      getPermission(){
        this.$ajaxget({
          url: '/api/getPermission',
          data: {},
          isLayer: true,
          successFc: data => {
            console.log(data.data)
          }
        })
      },
      ```
4 . 因为我的项目接口中 是存在 ‘/api’ 这个字段的 所以我选择的是第一种配置

图解
![在这里插入图片描述](https://img-blog.csdnimg.cn/7059cd5348c24649a057c6e12811ec2f.png)

效果图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/bd46487ec756409f85f1ca921b304fc8.png)


![在这里插入图片描述](https://img-blog.csdnimg.cn/3236a756419840a7a2ba8ec660859df3.png)

效果图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/63756c4df14949a991b8e3c77ddfd7f2.png)

VUE----设置路径别名

在项目中有时我们使用相对路径引入文件时由于路径太长会很不方便,这个时候我们可以设置路径别名

1.项目根目录下创建vue.config.js文件:
2.下载扩展包:

npm install path --save
常用函数:
         1、path.dirname()  :获取目录
         2、path.basename() :获取文件名.扩展名(我们统称为全名)
         3、path.extname()  : 获取扩展名
         4、path.parse()    : 将一个路径转换成一个js对象
         5、path.format()   :将一个js对象转换成路径
         6、join()          : 拼接多个路径成一个路径
         7、path.resolve() :将相对路径转为绝对路径
常用变量:
         1.__dirname: **总是返回被执行的 js 所在文件夹的绝对路径**
         2.__filename: 总是返回被执行的 js 的绝对路径

在这里插入图片描述

3.编辑vue.config.js文件:

1.引入path:
    const path = require('path');
2.封装方法:
    function resolve(dir){
        return path.resolve(__dirname,dir)
    }
3.配置文件:
module.exports = {
  configureWebpack:{
    resolve: {
          alias: {
            'src': resolve('src'),
              'assets': resolve('src/assets'),
              'images': resolve('src/assets/images')
          }
        }
  }
}

4.重新编译:
注意:修改vue.config.js必须重新编译项目,否则配置不生效

npm run serve

5.组件中引用:
在组件中使用~加路径别名的方法引用

示例代码:
  <template>
    <div id="app">
      <img src="~images/index.png">
    </div>
  </template>

6.至此,路径别名的基本设置就完成了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue.config.js 的相关文章

随机推荐

  • Linux如何查看显存

    以下内容由参看资料总结而来 若有不对 望指出 用ctrl alt t打开终端 输入命令 lspci 得到如下 部分 00 1f 6 Signal processing controller Intel Corporation 5 Serie
  • AI相关站点

    人工智能学习网站 产品经理的人工智能学习库 https easyai tech 大白智能 https www jiangdabai com API网站 极速数据 https www jisuapi com api Kate API http
  • Pandas删除某一列的方法

    1 del df columns 改变原始数据 2 df drop columns axis 1 删除不改表原始数据 可以通过重新赋值的方式赋值该数据 3 df drop columns axis 1 inplace True 改变原始数据
  • 怎样将cad布局导出来_cad布局导出模型(CAD 布局图怎么转换成模型图)

    请教大神cad布局转模型exportlayout命令无法生成新 用高版本CAD打开需要转的文件 然后用recover命令 输入完命令会提示打开文件 再次选择第一次 需要转换的 文件 此时会从新打开一个新文件 在新文件中右键模型选项卡点击里面
  • 用python编写一个更好看好用的日志库

    相信现在很多做自动化测试 开发 一般用的都是python的logging来记录日志 但是 logging确实不是很好看 只有一个红色的 在控制台中也不好分辨 那能不能自己写一个好看点的呢 我已经写好一个了 需要的可以直接下载安装试试 下面来
  • RabbitMQ图文详解

    重新整理了涉及资料的一些语言描述 排版而使用了自己的描述 对一些地方做了补充说明 比如解释专有名词 类比说明 对比说明 注意事项 提升了总结归纳性 尽可能在每个知识点上都使用一句话 关键词概括 更注重在实际上怎么应用 提出并回答了一些问题
  • C++ 函数重载(overroad) 覆盖(override) 隐藏(hide) 的区别

    C 函数重载 overroad 覆盖 override 隐藏 hide 的区别 原文转自 http blog chinaunix net u 15921 showart 227111 html 成员函数被重载的特征 1 相同的范围 在同一个
  • 2020年数学建模国赛C题题目和解题思路

    2020年数学建模国赛C题题目 在实际中 由于中小微企业规模相对较小 也缺少抵押资产 因此银行通常是依据信贷政策 企业的交易票据信息和上下游企业的影响力 向实力强 供求关系稳定的企业提供贷款 并可以对信誉高 信贷风险小的企业给予利率优惠 银
  • 安全防御——防火墙一

    安全防御 防火墙一 1 什么是防火墙 2 互联网为什么会出现防火墙 3 状态防火墙工作原理 4 防火墙如何处理双通道协议 5 防火墙如何处理nat 6 你知道哪些防火墙 以及防火墙的技术分类 防火墙种类 1 硬件防火墙 2 软件防火墙 个人
  • Qt入门(12)——Qt国际化

    应用的国际化就是使应用成为能被非本国的人使用的过程 有的情况下 国际化很简单 例如 使一个US应用可被Australian或者British用户理解 工作可能少于几个拼写修正 但是使一个US应用可以被Japanese用户使用 或者一个Kor
  • React 在componentDidMount使用 echarts,样式未加载导致Echart自适应div出错

    只需要修改componentDidMount中加入setTimeout gt echarts代码 import React Component from react import Main css 引入 ECharts 主模块 ts ign
  • 创建聚集索引

    一 ibuf init at db start Creates the insert buffer data structure at a database startup and initializes the data structur
  • 深度学习(十九)——FCN, SegNet, DeconvNet, DeepLab, ENet, GCN

    前DL时代的语义分割 续 Grab cut Grab cut是微软剑桥研究院于2004年提出的著名交互式图像语义分割方法 与N cut一样 grab cut同样也是基于图划分 不过grab cut是其改进版本 可以看作迭代式的语义分割算法
  • JDBC操作

    目录 一 实现JDBC步骤 1 注册驱动 1 1导入驱动包 1 1异常处理 2 创建连接 2 1导包 2 2处理异常 3 得到执行sql语句的Statement对象 3 1修改数据操作 3 2删除数据操作 3 3插入数据操作 3 4查询数据
  • vue-quill-editor富文本编辑器的汉化版 及 使用心得

    现在网上上有很多的富文本编辑器 但我个人还是非常喜欢Vue家族的vue quill deitor 虽然说它只支持IE10 好 废话不多说直接上代码 现在是见证奇迹的时刻 在vue中使用quill呢 我们需要npm进行安装 安装命令如下 第一
  • spring security 实现免登陆功能

    spring security 实现免登陆功能大体也是基于COOKIE来实现的 主要配置信息
  • Spring Boot系列之修改内置Tomcat版本

    背景 在 spring boot 出来之前 或者没有使用 spring boot 时 Java EE 开发时如果选择 tomcat servlet 需要自己指定 tomcat 版本 此处没有考虑那种直接把打包的 war 直接扔到本地安装的任
  • oracle云避坑小记

    前言 最近白嫖oracle云 用于评估arm64 架构的服务器 发现 oracle 云系统和国内的主要云服务厂商 如 阿里云或者腾讯云 默认的一些策略有所不同 以下是一些避坑指南 一 避坑小记 基于 oracle linux 8 关闭 fi
  • 《代码大全2》第3章 三思而后行,前期准备

    目录 前言 本章主题 3 1 前期准备的重要性 3 1 1 处于不同阶段强调质量 3 1 2 前期准备对 构建活动 的影响 3 1 3 准备不周全的诱因 3 1 4 我理解的准备周全 纯属个人理解 3 2 辨明你所从事的软件的类型 3 2
  • vue.config.js

    vue config js相关的知识信息 一 vue config js是vue打包管理的配置文件 旨在给开发者们自定义自己的配置 1 该文件的根式统一 为导出配置项选项 例如 在对象里面书写我们自己的配置项目 二 具体的配置内容 项目中常