这是一期主要分享vue-cli4.0配置

新建一个项目,最令人为难的是配置环境。拿vue来说,创建项目很简单,跟着文档走即可,但是要知道配置本地,测试,生产环境,以及反向代理等等,如果对于一个对vue构建不是特别了解,或者对webpack不是特别了解的人来说,真是很为难。

创建项目不再赘述,直接看如何配置环境。

配置反向代理

反向代理其实就是在本地为了解决跨域问题,将本地启动的比如localhost:8080代理成测试环境,发送给后端就不会出现跨域的问题。

vue-cli2.0以及以前,都是在创建项目的时候,会自动创建一个文件夹build,里面有各个环境配置的文件。vue-cli3.0及之后的版本,省去了这个文件夹,让这个项目结构更加清晰。

我们需要配置时,需要手动在最外层,即跟public文件夹同一级,创建vue.config.js文件夹,用来放所有配置项。

我所配置的反向代理在devServer里配置。

module.exports={
assetsDir:'static',
publicPath:'./',
devServer: {
host: 'localhost',
port: 8080,
proxy: {
'/mall': {
target: process.env.VUE_APP_BASE_URL_MALL,
changeOrigin: true,
ws: true,
pathRewrite: {
'^/mall': ''
}
},
},
},
}

如上的代码将/mall代理成target里面的环境(target环境,下面会做详细描述),需要注意,反向代理只是针对本地,测试和正式环境不需要代理,在做发请求封装的时候需注意。

配置环境

看下package.json中的scripts项,有几个环境,可以直接npm run对应的环境即可。

如果想配置其他名称或者其他的环境,可以在vue.config.js同一级添加

开发环境env.development

测试环境env.stage

正式环境env.production

在对应的环境文件里,配置如下

NODE_ENV=stage
VUE_APP_BASE_URL_MALL='http://test.cn'

其中NODE_ENV配置的是环境,可以在后期根据环境进行区分本地/测试/正式环境

VUE_APP_是定义相对应的环境变量,可以在反向代理和封装请求的时候使用。

以下是我对发请求进行的封装

import axios from 'axios'

export default function http({url,method='GET',data=null}) {
return new Promise((resolve, reject) => {
let wholeUrl=''
// development:本地;stage:测试;production:正式
if(process.env.NODE_ENV=='development'){
wholeUrl=`/mall${url}`
}else {
wholeUrl=`${process.env.VUE_APP_BASE_URL_MALL}${url}`
}
axios({url:wholeUrl,method,data}).then(res=>{
resolve(res)
}).catch(err=>{
reject(err)
})
});
}

在以后不管是发正式还是发测试,均不用手动修改环境,很便利。

如何配置vue-cli4.0的更多相关文章

  1. vue cli4.0 配置环境变量

    温馨提示:本文只适用于vue-cli 3.0 及以上的版本哦~ ------------------正文开始------------------ 开发项目时,经常会需要在不同环境中切换.那么我们如何配 ...

  2. Vue CLI4.0版本正式发布了!一起来看看有哪些新的变化吧

    Vue CLI4.0版本正式发布 这个主要的版本更新主要关注底层工具的必要版本更新.更好的默认设置和其他长期维护所需的微调. 我们希望为大多数用户提供平稳的迁移体验. Vue CLI v4提供了对Ni ...

  3. Vue cli4.0 代理配置

    proxy: { '/service': { target: 'http://192.168.40.243:3000/', //对应自己的接口 changeOrigin: true, ws: true ...

  4. vue cli4.0 快速搭建项目详解

    搭建项目之前,请确认好你自己已经安装过node, npm, vue cli.没安装的可以参考下面的链接安装. 如何安装node? 安装好node默认已经安装好npm了,所以不用单独安装了. 如何安装v ...

  5. vue 2.0 及 vue 3.0 rem配置

    vue 2.0 配置 rem 首先先安装postcss-px2rem   (百度可以) https://www.jianshu.com/p/e6476bbc2131 npm install postc ...

  6. 【Alpaca】.Net版开源配置中心 - 技术选型 Vue 3.0

    是否可以用 Vue 3.0 现有的Vue 2.* 不推荐,坐等Vue 3.0出迁移工具吧,手动改的话工作量还是不小的 新项目 考虑下团队内对Vue + TS + VS Code的熟练程度.过程中你会遇 ...

  7. 新手入门指导:Vue 2.0 的建议学习顺序

    起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script> ...

  8. vue 2.0 无法编译ES6语法

    # vue2.0 webpack 无法编译 ES6 语法 之前在使用 vue 1.x 时用 vue-loader@8.0.0 版本可以正常打包vue的代码,包括ES6语法也能正常转为ES5语法,但是当 ...

  9. vue cli3.0 结合echarts3.0和地图的使用方法

    echarts 提供了直观,交互丰富,可高度个性化定制的数据可视化图表.而vue更合适操纵数据. 最近一直忙着搬家,就没有更新博客,今天抽出空来写一篇关于vue和echarts的博客.下面是结合地图的 ...

  10. 在webpack中配置vue.js

    在webpack中配置vue.js 这里有两种在webpack中配置vue.js的方法,如下: 1.在main.js中引入vue的包: index.html: <!DOCTYPE html> ...

随机推荐

  1. word2vec 原理浅析 及高效训练方法

    1. https://www.cnblogs.com/cymx66688/p/11185824.html (word2vec中的CBOW 和skip-gram 模型 浅析) 2. https://ww ...

  2. AcWing 201. 可见的点 (欧拉函数打表)打卡

    在一个平面直角坐标系的第一象限内,如果一个点(x,y)与原点(0,0)的连线中没有通过其他任何点,则称该点在原点处是可见的. 例如,点(4,2)就是不可见的,因为它与原点的连线会通过点(2,1). 部 ...

  3. 转载-NX11.0二次开发新增Spreadsheet相关类的用法!

    这几天搜NX对EXCAL读取写入相关的开发内容,发现唐工写了一篇关于NX11对EXCAL操作的文章.让我知道NX11新增了对EXCAL操作相关的类,以前NX里是没有的.我以前都是用OLE方式去做,没用 ...

  4. 剑指offer——丑数(c++)

    题目描述只包含质因子2.3和5的数称作丑数(UglyNumber).例如6.8都是丑数,但14不是,因为它包含质因子7,习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 思路:1.逐个 ...

  5. angularjs 中使用 service 在controller 之间 share 对象和数据

    在做angularjs 的UI 时,我们经常会遇到一个页面之间有几个controller,在controller 之间share 公共的一些数据和方法就变得比较困难,目前推荐的做法是创建一个servi ...

  6. 一个小BUG引发的思考。(论开发与测试之间的那点事)

    标题不是“一个馒头引发的血案”. 言归正传:今天上午测试的时候,发现了一个BUG,如图: 一个用肉眼就能发现的BUG.原因当然是因为开发同事没有自测试,流入到了测试人员这里了. 无非是开发同事不严谨造 ...

  7. java Logger 类

    package org.rx.common; import org.slf4j.LoggerFactory; import java.util.Collections; import java.uti ...

  8. 正则表达式Pattern类的基本用法

    public void mailRegex() { // 要验证的字符串 String str = "shiruo.hdp@taobao.com"; // 邮箱验证规则 Strin ...

  9. 设计模式四人帮(GOF)是什么?

    1994年,有四位作者:Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides发表了一本题为<设计模式 - 可重用的面向对象软件元素>的 ...

  10. 021_IO流

    IO流 I——input 输入 O——Output 输出 文件 File 所有文件类的父类 创建方式 File file = new File("文件路径"); 文件对象常用的方法 ...