Vue 项目分环境打包的方法示例

yizhihongxing

下面我将详细讲解怎样进行 Vue 项目分环境打包。

什么是分环境打包?

在开发 Vue 项目的过程中,我们会遇到需要在不同的环境中部署和使用同一个项目的情况,例如在本地开发环境中使用 mock 数据,而在测试或生产环境中连接真实的后端 API。

分环境打包是指在不同的环境中,使用不同的配置信息来打出不同的包。每个环境都会有自己独立的一组配置信息,随着环境的不同,配置信息的内容也会有所不同。在打包的时候,可以根据不同的环境配置信息,选择性地打出不同的包。

如何实现分环境打包?

下面是一个简单的实现分环境打包的步骤:

  1. 新建一些 environment 变量,用于存储不同环境的配置信息,例如 VUE_APP_API_URLVUE_APP_BASE_URL 等等。这些变量定义在 .env、.env.dev、.env.test、.env.prod 文件中。

VUE_APP_API_URL=/api
VUE_APP_BASE_URL=/myapp/

  1. 根据环境不同,创建相应的 .env 文件,每个文件中定义的变量应该对应该环境的配置信息。例如在本地的 dev 环境,可以使用 mock 数据,而线上的 prod 环境,则需要连接真实的后端 API。

  2. package.json 中,配置环境变量的入口文件。

json
{
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"build:dev": "vue-cli-service build --mode development",
"build:test": "vue-cli-service build --mode test",
"build:prod": "vue-cli-service build --mode production"
}
}

  1. 根据当前环境执行相应的打包命令,例如在本地的开发环境中,可以执行 npm run build:dev 命令。

  2. 在打包之后,会在 dist 目录中生成相应的打包文件。可以通过修改 index.html 中的路径,来引用相应的打包文件。例如在 dev 环境中,可以引用 js/chunk-vendors.jsjs/app.js 等文件,而在 prod 环境中,则需要引用 js/chunk-vendors.xxx.jsjs/app.xxx.js 等压缩后的文件。

示例说明

示例一:使用不同的 base url

场景:在开发环境中,使用 localhost:3000 作为 base url,而在线上环境中,使用 www.example.com/myapp 作为 base url。

  1. .env 文件中,新增 VUE_APP_BASE_URL 变量,并设置不同环境对应的值:

```
# .env.dev 文件
VUE_APP_BASE_URL=http://localhost:3000

# .env.prod 文件
VUE_APP_BASE_URL=http://www.example.com/myapp
```

  1. 在 Vue 中,使用环境变量 VUE_APP_BASE_URL 来配置 base url,示例:

```javascript
// 在 main.js 中配置 axios
import axios from 'axios'

const baseURL = process.env.VUE_APP_BASE_URL

const instance = axios.create({
baseURL,
})

export default instance
```

  1. 执行 npm run build:prod 命令,生成线上环境的打包文件。

  2. 在打包文件中,使用 VUE_APP_BASE_URL 来配置 js 和 css 文件的路径,示例:

```html
<link rel="preload" href="<%= BASE_URL %>js/app.f5053c67.js" as="script">
<link rel="preload" href="<%= BASE_URL %>js/chunk-vendors.12345678.js" as="script">


```

示例二:使用不同的 API URL

场景:在开发环境中,使用 mock 数据作为 API URL,而在线上环境中,使用真实的 API URL。

  1. .env 文件中,新增 VUE_APP_API_URL 变量,并设置不同环境对应的值:

```
# .env.dev 文件
VUE_APP_API_URL=/api

# .env.prod 文件
VUE_APP_API_URL=http://www.example.com/api
```

  1. 在 Vue 中,使用环境变量 VUE_APP_API_URL 来配置 API URL,示例:

```javascript
// 在 main.js 中配置 axios
import axios from 'axios'

const apiURL = process.env.VUE_APP_API_URL

const instance = axios.create({
baseURL: apiURL,
})

export default instance
```

  1. 执行 npm run build:prod 命令,生成线上环境的打包文件。

  2. 在服务器端,配置真实的 API URL,并在 Vue 中使用该 URL,示例:

```javascript
// 在 main.js 中配置 axios
import axios from 'axios'

const instance = axios.create({
baseURL: 'http://www.example.com/api',
})

export default instance
```

以上就是分环境打包的实现方法和示例说明。在实际开发中,可以根据需求和情况,灵活使用这些技巧来进行 Vue 项目的分环境部署。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue 项目分环境打包的方法示例 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 关于vue中路由的跳转和参数传递,参数获取

    对于vue中的路由跳转和参数传递,可以通过vue-router这个插件来实现。下面我就一步步讲解使用vue-router实现路由跳转和参数传递的完整攻略。 路由跳转 安装和配置vue-router 首先需要安装vue-router插件,可以通过npm命令进行安装: npm install vue-router –save 安装完成后,在项目的入口文件中导入…

    Vue 2023年5月27日
    00
  • vue使用Vue.extend方法仿写个loading加载中效果实例

    下面是详细讲解“vue使用Vue.extend方法仿写个loading加载中效果实例”的完整攻略: 1. Vue.extend方法简介 Vue.extend是Vue.js中一个全局API,它接受一个参数对象并返回一个新的组件构造函数,这个构造函数可以被像任何其它组件一样被实例化。 其主要作用是定义可复用的组件模板,这些模板可以在后面使用到。 2. 实现过程 …

    Vue 2023年5月29日
    00
  • SpringBoot使用Shiro实现动态加载权限详解流程

    下面是”SpringBoot使用Shiro实现动态加载权限详解流程”的完整攻略: 1. 确定需求 首先,我们需要明确本次实现的需求。我们将使用Shiro来实现认证和权限控制,同时,我们的权限控制将支持动态的添加和删除。具体来说,我们需要实现以下功能: 用户登录 用户退出 用户认证 用户权限控制 动态添加权限 动态删除权限 2. 搭建SpringBoot项目 …

    Vue 2023年5月28日
    00
  • VUE v-model表单数据双向绑定完整示例

    下面我来详细讲解“Vue v-model表单数据双向绑定完整示例”的完整攻略。 1. 简介 v-model是Vue中非常重要的一个指令,它可以实现表单数据的双向绑定。在Vue中,数据驱动视图,当我们的数据发生变化时,视图也会随之变化,而v-model就是连接数据和视图的重要途径之一。 2. 示例说明 下面我们来看两个关于v-model的示例: 2.1 示例1…

    Vue 2023年5月27日
    00
  • Vue3 <script setup lang=“ts“> 的基本使用

    Vue3提供了一种名为 <script setup> 的语法糖,它可以让我们更加便捷地编写Vue组件。在加上 lang=”ts” 后可以通过TypeScript来书写Vue3组件,提高代码的可读性和类型安全性。 首先,让我们创建一个Vue3组件,该组件可以在页面上显示一个计数器,并且能够点击按钮对其进行累加操作。 <template>…

    Vue 2023年5月27日
    00
  • 简单的vue-resourse获取json并应用到模板示例

    下面我为您讲解如何使用vue-resource获取JSON并应用到模板中。 1. 安装vue-resource 在开始之前,首先需要安装vue-resource。可以通过以下命令在命令行中安装: npm install vue-resource –save 2. 引入vue-resource 安装完成后,需要在Vue项目中引入vue-resource。可以…

    Vue 2023年5月28日
    00
  • 在vue中使用vant TreeSelect分类选择组件操作

    下面是关于在vue中使用vant TreeSelect分类选择组件的详细攻略。 1. 安装vant 首先,我们需要安装vant组件库,可以使用npm或yarn来安装,命令如下: npm install vant -S // 使用npm yarn add vant // 使用yarn 2. 引入需要使用的TreeSelect组件 在需要使用组件的.vue文件中…

    Vue 2023年5月28日
    00
  • vue项目实现图片上传功能

    下面是实现Vue项目图片上传功能的完整攻略: 准备工作 在开始实现图片上传功能之前,我们需要先进行几项准备工作。首先,需要确定你使用的Vue版本是否支持vue-cli3,如果不支持,需要先安装一个支持vue-cli3的Vue版本。其次,需要安装一个Vue插件——vue-uploader,以便我们更方便地完成图片上传功能开发。 安装Vue-cli3 Vue-c…

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