vue多环境配置

在上级我们搭建完成了vue的多页面入口,但是在实际开发中,还是有很多现实需求,例如开发环境和生产环境的区分。

实际上Vue-cil已经帮我们初步设置好了两种环境,我们只需要在其基础上稍作修改

需求: 生产环境全部静态资源全部使用固定的cdn。

首先找到项目下的

/config/dev.env.js
/config/prod.env.js

这两个文件就是针对生产环境和发布环境设置不同参数的文件

我们在dev.env.js中加上开发环境的路径

  • 值一定要加上双引号,否则会被webpack视为变量而报错
module.exports = merge(prodEnv, {
  NODE_ENV: ‘"development"‘,
  UPLOAD_ENV: ‘"http://localhost:3000/"‘,
})

在prod.env.js中

module.exports = {
  NODE_ENV: ‘"production"‘,
  UPLOAD_ENV: ‘"https://cdn-data/"‘, //模拟cdn地址
}

在正常的开发中,肯定会有很多的ajax请求,为了便于管理,封装一下所有的api和

ajax请求,准备下mock数据

vue的脚手架为我们搭好了一个静态服务器,我们可以直接在项目下增加一个文件夹data存放mock数据

还记得dev环境下的地址吗

module.exports = merge(prodEnv, { NODE_ENV: ‘"development"‘, UPLOAD_ENV: ‘"http://localhost:3000/"‘, // 静态服务器地址 })

在项目下新建一个data问价夹,添加一个json文件

//data/weather.json
{
  "module":" mock数据"
  "code": "200"
}
 // weather.js
 const weather = {
   // 这里有两个环境,对应的不同的api。开发的时候,可以使用json和静态服务器来模拟ajax
   //这里的getWeatherData即是在页面上使用时传入的apiKey
  // {pathData}是路径参数,最后会拼在请求的URL中

  getWeatherData: {
    development: {
      url: ‘/data/weather.json?{pathData}‘,
      type: ‘json‘,
      method: ‘get‘,
      contentType: ‘application/json‘
    },
    production: {
      url: ‘https://free-until.heweather.com/v5/now?city={pathData}‘,
      method: ‘get‘,
      contentType: ‘application/json‘
    }
  }
}

export default weather

 ```
 然后可以将不同的api配置文件整合一下

 ```
 // apimap.js
 import weather from ‘./api/weather‘

let api ={
  ...weather
}

export default api
 ```

  在封装一下ajax

  ```
  // ajax.js
  let ajax = function (options) {
  // 通过传入参数中的key和开发环境来找到对应api路径
  let api = Object.assign({}, apiMap[options.apiKey][process.env.NODE_ENV])

    // 路径参数
  let extend = {}
  if (options.pathData) {
    extend.url = api.url.replace(/{\w+}/g, (key) => {
      return options.pathData[key.substring(1, key.length - 1)]
    })
  }

  axios(Object.assign(api, options, extend))
  .then(function(respone){
  // 成功之后将data数据传回请求的页面
    options.success(respone)
  })
    .catch(function(error){
      console.log(error);
    });
}
}

  ```
  将我们写的ajax方法挂载到vue实例上
  ```
  // main.js
  import  ajax from ‘../../until/ajax‘
Vue.config.productionTip = false

// 将ajax方法挂载到vue的原型上,以后再页面中可以使用this.ajax调用
Vue.prototype.ajax = ajax
new Vue({
  el: ‘#app‘,
  template: ‘<App/>‘,
  components: { App }
})

  ```
  ```

  ```
  这样,封装了ajax和api, 在本地dev环境下, 将会访问http://localhost:3000/data/weather.json

  然后我们在页面上写一个请求

  ```
  // app.vue
    export default {
    name: ‘app‘,
    components: {},
    data () {
      return {
        info: [],
        imgPath: ‘地址‘
      }
    },
    created () {
      this.ajax({
        apiKey: ‘getWeatherData‘,
        data: ‘admin‘,
        pathData: {key: ‘sss‘},
        success: data => {
          this.info = data
        }
      })
    }
  }
  ```
  刷新页面,我们就能看到请求到的mock数据啦。

  在开发中,也会遇到cdn封装的问题,在写静态页面时,将图片文件放在本地,之后上传到cdn后,图片路径会发生变化。所以我们也可以封装一下。

  在刚才的data文件夹下添加一个img文件夹,放上对应的img文件
  在页面上

  ```
  <img :src="cdn + ‘/data/img/001.png"  style="width: 50px; height: 50px;">

   // script
      data () {
      return {
        info: [],
        cdn: process.env.UPLOAD_ENV,
        imgPath: ‘地址‘
      }

这样,本地服务器警徽访问 http://localhost:3000/data/img/001.png

生产环境将会访问 https://cdn-data/data/img/001.png

只要注意好路径,就可以切换cdn了

原文地址:https://www.cnblogs.com/unhappy-lynn/p/7841613.html

时间: 2024-08-05 14:14:45

vue多环境配置的相关文章

【前端】vue.js环境配置以及实例运行简明教程

vue.js环境配置以及实例运行简明教程 声明:本文档编写参考如下两篇博客,是对它们的修改与补充,欢迎点击链接查看原文: 原文1:vue.js在windows本地下搭建环境和创建项目 原文2:Vue.js开发环境搭建 VUE.JS简介 何为Vue.js Vue.js(读音 /vju?/, 类似于 view)是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.另一方面,Vue

vue开发环境配置跨域,一步到位

本文要实现的是:使用vue-cli搭建的项目在开发时配置跨域,上线后不做任何任何修改,接口也可以访问,前端跨域解决方案 production:产品 生产环境 development:开发 开发环境 1.开发环境设置跨域 使用工具:vue-cli自带的配置 配置目录 /config/index.js //自行复制黏贴 proxyTable: { '/apis':{ target: 'http://10.1.63.26:19080/', // 后台api changeOrigin: true, //

vue 项目环境配置(待补充)

1.下载nodejs 2.github或者码云配置 3.git clone github代码地址 4.vue-cli的安装: npm install -g @vue/cli 5.使用vue ui命令进行可视化环境配置 6.将代码提交到github或码云 使用的命令: 1. git add . 2.git commit -m "描述" 3.git push 原文地址:https://www.cnblogs.com/lalavender/p/10434426.html

vue开发环境配置

* 确认node安装好, npm可用 node -v npm -v * 安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org * 安装vue-cli cnpm install -g vue-cli vue -V * 创建项目my-vue vue init webpack my-vue 初始化项目中有一步问到是否创建router,选择是 这样就有了 vue-router可以配置路由 Vue.use(Router)

Vue 多环境配置方法

开发应用时环境有开发环境.测试环境.生产环境等,此时我们需要配置不同的环境,获取不同的apiUrl前缀,避免了频繁手动更改api. 1.安装cross-env插件 cross-env是跨平台设置和使用环境变量的脚本.在大多数Windows命令行中在使用NODE_ENV = production设置环境变量时会报错.同样,Windows和Linux命令如何设置环境变量也有所不同. 使用cross-env可以设置在不同的平台上有相同的NODE_ENV参数. npm install cross-env

vue项目环境配置

1.安装node.js    http://nodejs.cn/download/下载并安装 查看是否安装成功 node -v 2.安装国内的淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 3.以上完成后,安装vue-cli脚手架构建工具 npm install --global vue-cli 4.创建一个基于webpack模板项目 ,my-project为项目名.运行初始化命令的时候回让用户输入几个基本的

VUE 一些环境配置

1. 安装  nrm 一键切换npm源 npm i nrm -g       [安装命令工具] nrm ls                 [罗列出所有的源] nrm use taobao  [使用taobao的源] 安装完后, 以后的装包工具 直接用 npm 就行了 2. 安装 cnpm  npg i cnpm -g 3. webpack 官网:  https://webpack.github.io/ 中文:   https://www.webpackjs.com/ 全局安装(推荐)  np

vue环境配置 vue-cli脚手架

vue 环境配置步骤: 第一步: 在官网下载node,Node  下载地址 http://nodejs.cn/ 并安装node.检测node是否安装成功, 按 "windows+r"  进入cmd命令窗 ,在命令窗口输入 node -v   -> "enter"键   ->输入 npm -v  -> 'enter'键显示如下图: 第二步 安装全局vue-cli,在cmd中输入 命令  npm install -g vue-cli (vue-cli在

vue环境配置脚手架环境搭建vue工程目录

首先在初始化一个vue项目之前,我们需要下载node.js,并且安装! 下载地址: nodejs.cn/download 安装完成之后,windows+r 运行命令 cmd  输入node -v  检查是否已经安装成功.如果会显示版本信息,说明安装成功! 现在就可以使用node中的npm包管理器来构建vue项目 第一步,由于npm直接下载资源网速会比较慢,可以用淘宝镜像来代替,运行命令 npm install -g cnpm --registry=https://registry.npm.tao