vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀

在讲解“vue 项目打包通过命令修改 vue-router 模式修改 API 接口前缀”之前,我们需要了解一下几个基本概念。

  1. vue-router:是 Vue.js 官方提供的路由管理插件。
  2. API 接口前缀:是指 API 接口的 URL 前面的部分,通常包含域名、端口号等信息。

下面是详细的攻略:

  1. 修改 vue-router 模式:

Vue Router 可以有三种不同的模式:hash(默认值)、history 和 abstract。在打包时修改 vue-router 模式,首先需要通过命令行工具安装 cross-env且通过 cross-env 设置环境变量。cross-env 用于跨平台设置环境变量,可用于 Windows、Linux 和 macOS。

具体操作流程如下:

安装 cross-env:

npm install cross-env --save-dev

修改环境变量:

"scripts": {
    "dev": "cross-env NODE_ENV=development vue-cli-service serve",
    "build": "cross-env NODE_ENV=production vue-cli-service build"
  }

在环境变量中添加一个新的变量:

"scripts": {
    "dev": "cross-env NODE_ENV=development VUE_APP_ROUTER_MODE=hash vue-cli-service serve",
    "build": "cross-env NODE_ENV=production VUE_APP_ROUTER_MODE=history vue-cli-service build"
  }
  1. 修改 API 接口前缀

在开发过程中,API 接口 URL 可能会发生变化,所以在打包时需要通过命令修改 API 接口前缀。这里介绍两种常用的方式:

  • 方式一:通过 .env 文件配置

在根目录下创建一个 .env 文件,然后设置 API 接口的前缀,例如:

VUE_APP_BASE_API=http://localhost:8080/api

在 vue.config.js 文件中,使用 process.env.VUE_APP_BASE_API 来引用 API 接口前缀,例如:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: process.env.VUE_APP_BASE_API,
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}
  • 方式二:通过 cross-env 命令行参数配置

在命令行中指定 API 接口的前缀,例如:

cross-env VUE_APP_BASE_API=http://localhost:8080/api vue-cli-service build

在 vue.config.js 文件中,使用 process.env.VUE_APP_BASE_API 来引用 API 接口前缀,例如:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: process.env.VUE_APP_BASE_API,
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

以上就是“vue 项目打包通过命令修改 vue-router 模式修改 API 接口前缀”攻略的详细说明,希望对你有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • JS实现可拖曳、可关闭的弹窗效果

    实现可拖拽、可关闭的弹窗效果需要借助JavaScript和CSS的帮助。主要的实现步骤如下: 步骤一:HTML结构 先定义一个弹窗的HTML结构,包括一个模态框、一个标题、一个内容和两个关闭按钮: <div class="modal"> <div class="modal-header"> &l…

    JavaScript 2023年6月11日
    00
  • JS使用正则表达式实现常用的表单验证功能分析

    这里我提供一份完整的攻略来实现用正则表达式实现常用的表单验证功能。步骤如下: 步骤一:准备HTML代码 首先,我们需要编写一个表单来进行验证。HTML代码如下: <form method="post" action="" id="myForm"> <label for="…

    JavaScript 2023年5月27日
    00
  • js数组去重的11种方法

    下面是详细讲解“js数组去重的11种方法”的完整攻略。 引言 在JavaScript开发中,常常需要我们对数组进行去重的操作。由于JavaScript本身没有提供去重的方法,开发者需要结合一些技巧和方法来完成这个任务。本文将由浅入深介绍11种JavaScript数组去重的方法,希望对大家有所帮助。 方式一:使用Set类型 Set是一种新的ES6数据类型,它存…

    JavaScript 2023年5月27日
    00
  • Javascript RegExp ignoreCase 属性

    JavaScript RegExp的ignoreCase属性 JavaScript的RegExp对象中的ignoreCase属性是一个布尔值,表示正则表达式是否具有忽略大小写标志i。当ignoreCase属性为true时,正则表达式将忽略匹配时的大小写。 语法 ignoreCase属性的语法如下: RegExp.ignoreCase 示例1:使用ignore…

    JavaScript 2023年5月11日
    00
  • ES6 Iterator接口和for…of循环用法分析

    ES6 Iterator接口和for…of循环用法分析 ES6引入了Iterator接口,为JavaScript提供了统一的数据遍历访问方式,而for…of循环则是对Iterator接口的应用,我们可以用for…of语法循环遍历具有Iterator接口的数据结构。 Iterator接口概述 Iterator接口是一个具有next方法并且返回一个包…

    JavaScript 2023年6月10日
    00
  • JavaScript驾驭网页-DOM

    JavaScript驾驭网页-DOM攻略 DOM(Document Object Model)是一种表述HTML、XML等文档的标准模型,由节点树构成,后续操作都基于节点树上的节点。 1. 获取元素 想要驾驭网页,首先需要获取要操作的元素。 1.1 通过id获取元素 let element = document.getElementById("el…

    JavaScript 2023年6月10日
    00
  • 浅谈js的ajax的异步和同步请求的问题

    浅谈JS的Ajax的异步和同步请求的问题 什么是Ajax? 在Web开发中,Ajax是一种在不重新加载整个页面的情况下与服务器交换数据的技术。它使页面可以异步地(意味着不重新加载整个网页)更新并显示某一部分内容。 异步请求和同步请求的区别 在Ajax中,请求有两种方式,异步和同步。 异步请求: 异步请求意味着当请求被发送后,页面可以在等待服务器响应的同时进行…

    JavaScript 2023年6月11日
    00
  • JS判断两个时间大小的示例代码

    JS判断两个时间大小是一个比较常用的功能,常用于比较两个时间先后顺序,以便进行时间排序、时间筛选等操作。下面是我为大家提供的几个示例代码及攻略。 示例一:使用Date对象实现时间比较 首先,我们需要知道JS中的Date对象是一个非常方便的时间操作工具,它可以将日期和时间存储为一个数字值,然后可以方便地进行各种处理和比较。 以下是使用Date对象实现判断两个时…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部