美文网首页WEB前端开发技术杂谈
vue-cli3的环境配置之env文件

vue-cli3的环境配置之env文件

作者: 我爱阿桑 | 来源:发表于2019-08-05 11:01 被阅读0次
image.png

cli3有三个环境配置文件:

development:开发环境

prod: 正式环境

testing: 测试环境

image.png

而VUE_CLI_BABEL_TRANSPILE_MODULES:true是为了路由懒加载,在cli2时需要在package.json里面加上

  "env": {
    "development": {
      "plugins": ["dynamic-import-node"]
    }
  }
}

而在新版本只要配置改设置就可
vue-cli@3
vue-element-admin@4 在新版本中已修改为基于 vue-cli来进行构建。所以在新版本中你只要在.env.development环境变量配置文件中设置VUE_CLI_BABEL_TRANSPILE_MODULES:true就可以了,具体代码
它的实现逻辑和原理与之前还是一样的,还是基于babel-plugin-dynamic-import-node来实现的。之所以在vue-cli中只需要设置一个变量就可以了,是借用了vue-cli它的默认配置,它帮你代码都写好了。通过阅读源码可知,vue-cli会通过VUE_CLI_BABEL_TRANSPILE_MODULES这个环境变量来区分是否使用babel-plugin-dynamic-import-node,所以我们只要开其它就可以。虽然它的初衷是为了单元测试的,但正好满足了我们的需求。

回归正题:

测试服配置:

NODE_ENV = "testing"

# just a flag
ENV = 'testing'

# base api
VUE_APP_BASE_API = 'https://api.qkb-test.admin.mjc.com'

正式服配置:

NODE_ENV = "production"

# just a flag
ENV = 'production'

# base api
VUE_APP_BASE_API = 'https://api.qkb.admin.mjc.com'

开发环境配置:

NODE_ENV = "development"

# just a flag
ENV = 'development'

# base api
VUE_APP_BASE_API = '/api'

VUE_CLI_BABEL_TRANSPILE_MODULES = true

所以只需要在请求拦截器的request里面设置baseURL就可以了

// 创建AXIOS实例
const service = axios.create({
  // baseURL: basePath, 
  baseURL: process.env.VUE_APP_BASE_API,
  headers:{'X-TOKEN':localStorage.getItem('token')},
  withCredentials: true, // 跨域请求时发送cookie
  timeout: 30000, // request timeout
})

切记需要前缀process.env,该属性可以在任何界面调用,如console.log(process.env)
或者在element-ui 的upload组件中,action属性需要绑定url,也可以使用如下:

  <el-upload
                 ref="my-upload"
                    class="upload-demo"
                    :action="process+'/upload_img'"
                    :on-success="onSuccess1"
                    :file='tupian'
                    :with-credentials="true"
                    list-type="picture">
                    <el-button size="small" type="primary" class='upload-button'>+</el-button>
                </el-upload>

在data属性中规定process为

 data() {
    return {
      process:process.env.VUE_APP_BASE_API,
}}

就可以根据环境同,来自动区分上传的地址。

相关文章

网友评论

    本文标题:vue-cli3的环境配置之env文件

    本文链接:https://www.haomeiwen.com/subject/leepdctx.html