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日

相关文章

  • JS实现的input选择图片本地预览功能示例

    下面我将为你详细讲解JS实现的input选择图片本地预览功能的攻略。 简介 JS实现的input选择图片本地预览功能,顾名思义,就是可以通过JS代码来实现input表单中选择图片后,在本地预览图片的功能。这类功能一般可以用在上传头像、上传图片等场景中。 过程 下面,我将带你一步步实现这个功能。 第一步:HTML结构 首先,我们需要编写HTML结构,代码如下:…

    Vue 2023年5月28日
    00
  • JSON数组和JSON对象在vue中的获取方法

    当我们在Vue.js应用程序中使用数据时,经常需要从后端服务器获取JSON格式的数据并将其渲染到视图中。JSON(JavaScript Object Notation)是一种用于数据交换的轻量级数据格式。在Vue.js应用程序中,我们可以使用两种基本的JSON数据类型:JSON数组和JSON对象。 获取JSON数组 JSON数组是由多个JSON对象组成的元素…

    Vue 2023年5月27日
    00
  • 解析vue.js中常用v-指令

    当我们使用Vue.js进行开发的时候,v-指令是一个非常常见的用法。v-指令是Vue.js中属性绑定的一种方式。在这里,我们将详细介绍一些常见的v-指令。 v-bind指令 v-bind指令可以将Vue实例中的数据绑定到HTML元素的属性上。如果我们想将Vue实例中的url数据绑定到img标签中的src属性上,可以使用如下代码: <img v-bind…

    Vue 2023年5月28日
    00
  • 一文学会什么是vue.nextTick()

    一文学会什么是vue.nextTick() 什么是vue.nextTick() vue.nextTick()是Vue.js的一个方法,它的作用是在修改数据之后等待DOM更新完毕后执行回调函数。在有些情况下,当我们修改了某个数据后需要对DOM进行操作(比如获取某个元素的高度),此时DOM可能还没有更新完毕,这就需要加入一个异步任务,等待DOM更新完毕后再执行相…

    Vue 2023年5月29日
    00
  • Vue报错:TypeError: Cannot create property ‘xxxx‘ on的解决

    当 Vue 报出 “TypeError: Cannot create property ‘xxxx’ on” 类型的错误时,通常是由于在组件中调用了未定义的数据或方法。这种错误的解决方案可能有很多,我们可以从以下几个方面来处理: 检查组件的数据 首先,我们需要检查组件中使用的数据,确保其已在组件中初始化或定义。如果该数据是作为组件属性传入的,则需要确保传入的…

    Vue 2023年5月27日
    00
  • vue文件树组件使用详解

    下面是关于如何使用Vue树形组件的详细攻略: 1. 安装和引入 首先,需要安装并引入Vue树形组件库。你可以通过命令行安装npm包: npm install treevue –save 也可以直接在HTML文件中引入CDN: <script src="https://unpkg.com/treevue/dist/treevue.min.js…

    Vue 2023年5月28日
    00
  • 详解Vue3中对VDOM的改进

    Vue 3 是最新的Vue.js版本,该版本带来了许多对VDOM的改进。这里我们将详细讲解Vue3中对VDOM的改进。 一、什么是VDOM? 虚拟DOM(Virtual DOM)是React和Vue等一些现代JavaScript框架背后的核心技术之一。虚拟DOM是一个轻量级的JavaScript对象,它描述了真实DOM的层次结构和属性,是一个表示DOM状态的…

    Vue 2023年5月28日
    00
  • JS去掉字符串末尾的标点符号及删除最后一个字符的方法

    下面是完整攻略: 方法一:使用正则表达式 我们可以使用正则表达式来匹配并删除字符串末尾的标点符号。具体步骤如下: 使用replace()方法来替换匹配到的最后一个标点符号。 为了匹配到字符串末尾的标点符号,可以使用正则表达式/[^\w\s]|_$/。该正则表达式可以匹配除字母、数字、下划线、空格以外的任何字符,或者任务末尾的下划线。 使用字符串方法slice…

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