vue-cli配置文件——config篇

下面是关于“vue-cli配置文件——config篇”的完整攻略:

1. 概述

在使用Vue-cli构建Vue项目时,除了基础配置文件(如 package.json、index.html、main.js等),还有一些高级配置文件。其中,config目录下的配置文件是一些开发、打包、运行时的配置信息集合。

2. 细节

2.1 index.js

index.js 是 Vue-cli 配置文件中最核心的文件之一,它主要负责 dev 和 build 时的主要配置。

下面是一个基础的index.js示例:

module.exports = {
  dev: {
    // ...
  },
  build: {
    // ...
  }
}

当你需要修改webpack配置时,可以通过添加configureWebpack或chainWebpack属性来实现。通常来说,新增配置可以通过这两个属性发挥作用:

module.exports = {
  chainWebpack: config => {
    // 更改执行配置
  },
  configureWebpack: {
    // 覆盖webpack默认配置
  },
}

此外,还可以添加plugins、loaders等,不使用字符串值而直接调用已有的函数:

module.exports = {
  configureWebpack: config => {
    // 还可以这样直接调用函数
    config.plugins.push(new MyAwesomeWebpackPlugin())
  }
}

2.2 dev.env.js

dev.env.js 主要用来配置开发环境中的变量。

下面是一个基础的dev.env.js示例:

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"'
})

其中NODE_ENV是一个特殊的被Webpack定义的变量。

2.3 prod.env.js

prod.env.js 主要用来配置生产环境中的变量。

下面是一个基础的prod.env.js示例:

'use strict'
module.exports = {
  NODE_ENV: '"production"'
}

同样地,NODE_ENV也是一样被Webpack定义的变量。

3. 示例

3.1 修改代理

在开发模式下,我们需要解决跨域问题。由于我们一般把前端服务和后端服务分别运行在不同的端口上,因此我们需要通过代理方式来把请求转发到后端。

Vue-cli已经自带webpack-dev-server,可以很容易地添加proxyTable,把请求转发到后端服务。

首先在config目录下的index.js中的dev对象中加入proxyTable属性,用于配置代理:

dev: {
  proxyTable: {
    '/api': {
      target: 'http://localhost:3000',
      changeOrigin: true,
      pathRewrite: {
        '^/api': ''
      }
    }
  }
}

这里我们配置了一个/api路由前缀,它将被代理到http://localhost:3000/api下(后端API地址)。

最后在 src/xxx.js 文件中发起请求,直接写url为 api/xxx 即可。

3.2 修改端口

有时候我们需要将Vue应用的开发或者打包运行在特定的端口上。可以通过dev和build对象中的port属性来完成。

比如,我们需要将开发模式的端口号设为8080:

dev: {
  port: 8080
}

同理,如果需要在打包时指定端口号,则:

build: {
  port: 8888
}

这样,当我们执行npm run dev时,Vue应用将会在端口号为8080的情况下启动。

同样地,当执行npm run build时,我们的Vue应用将会运行在端口号为8888的情况下打包。

简而言之,config文件夹下的各个文件对于Vue项目都具有指导意义,更多用法可以根据Vue官方文档自行查看和修改。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue-cli配置文件——config篇 - Python技术站

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

相关文章

  • vue中循环请求接口参数问题及解决

    下面是“vue中循环请求接口参数问题及解决”的完整攻略。 问题描述 在Vue中,我们有时需要使用循环来请求后端接口的数据。例如,我们可能需要在一个页面上显示多个商品的信息,每个商品的详细信息都需要通过调用接口来获取。这时候,我们会发现循环的次数和请求的参数之间存在一定的关系,如果我们直接在循环内部发送异步请求,可能会造成请求重复提交或者请求参数不正确的问题,…

    Vue 2023年5月27日
    00
  • 关于vue中的时间格式转化问题

    关于Vue中的时间格式转化问题,我为你详细讲解以下攻略。 问题描述 在Vue应用开发中,我们经常会遇到需要将日期时间格式进行转化的情况。例如从后端API接口中获取的时间戳需要格式化成常用的日期时间格式,或者用户在前端输入的日期时间字符串需要转换为时间戳等。在这样的场景下,我们需要掌握Vue中时间格式转化的方法。 解决方法 Vue中内置了许多过滤器(Filte…

    Vue 2023年5月28日
    00
  • vue 项目接口管理的实现

    下面是关于“Vue 项目接口管理的实现”的攻略: 一、前言 在Vue开发中,数据的获取和处理是必不可少的。如果您的项目已经非常复杂,那么您最好要考虑如何规范接口的使用,否则将会十分混乱。本文将为您讲解Vue项目中如何有效管理接口和如何与后端进行联调。 二、接口管理的实现 1. 接口管理方案 接口管理可以通过建立一个独立的接口文件夹来实现,这个文件夹可以包括接…

    Vue 2023年5月28日
    00
  • 浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

    下面是针对“浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑”的完整攻略。 标题 第一步:Hbuilder安装与使用 在Hbuilder官网中下载对应系统的Hbuilder软件 去Hbuilder的官方文档中找打包流程并根据官方文档进行打包操作 打包完成之后,在运行的手机或者模拟器上测试APP的效果,确保APP在打包过程中没有出现问题 第二步…

    Vue 2023年5月27日
    00
  • 深入理解Vuex 模块化(module)

    深入理解Vuex 模块化(module) 背景介绍 Vue.js 是目前广泛应用于前端开发中的一款 JavaScript 框架。它的状态管理工具——Vuex, 大大减轻了开发者在组件之间共享数据时的繁琐操作,让数据流变得简单、易于维护、减少错误。那么如何更好地利用Vuex,使得你的代码更好的进行管理呢?这就需要深入理解Vuex模块化。 什么是Vuex 模块化…

    Vue 2023年5月28日
    00
  • vue如何基于el-table实现多页多选及翻页回显过程

    实现多页多选及翻页回显的关键在于要在不同页之间共享数据。Vue.js提供了一些辅助方法来进行数据处理和页面渲染。我们可以使用Vue.js的计算属性和方法来实现该功能。 步骤一:设置选中项和分页 首先,我们需要在Vue实例中通过数据来记录选中的项和当前页数,具体代码如下: <template> <el-table :data="ta…

    Vue 2023年5月27日
    00
  • vue 中的 render 函数作用详解

    Vue.js 是一种现代化的 JavaScript 前端框架。使用 Vue.js 开发时,render 函数的作用非常重要。本文旨在为大家深入讲解 Vue.js 中的 render 函数。 什么是 Vue.js 中的 render 函数? Vue.js 使用模板来生成应用程序的 HTML。但是,模板在处理一些复杂场景时,会有一些不足之处。为此,Vue.js …

    Vue 2023年5月28日
    00
  • vue深度监听(监听对象和数组的改变)与立即执行监听实例

    Vue.js 是一个非常流行的前端框架,它提供了很多方便的数据监听和响应式机制,其中包括深度监听和立即执行监听。下面将详细介绍这两种监听方式的用法和示例。 Vue 深度监听 Vue 的深度监听可以在属性改变时触发回调函数,包括对象和数组的改变。Vue 提供了 watch API 来实现深度监听,它可以监听一个对象的所有属性变化,同时也可以监听数组的变化。下面…

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