先找到package.json  (这是nuxt版的vue 可能会跟一般vue不一样  当然总体上差不多的)

"scripts": {
    "dev": "cross-env NODE_ENV=development nuxt",
    "pro": "cross-env NODE_ENV=production nuxt",
    "pre": "cross-env NODE_ENV=prerelease nuxt",
    "build-prod": "cross-env NODE_ENV=production nuxt build",
    "build-prer": "cross-env NODE_ENV=prerelease nuxt build",
    "build-test": "cross-env NODE_ENV=development nuxt build",
    "start": "nuxt start",
    "generate": "nuxt generate"
  },

 

 环境篇(了解项目环境)  

 

dev环境
  "dev": "cross-env NODE_ENV=development nuxt"

预生产环境
  "pre": "cross-env NODE_ENV=prerelease nuxt",

生产环境
  "pro": "cross-env NODE_ENV=production nuxt",

  


2.Prod上线 环境篇  命令行(num run build)
测试版上线打包
  "build-test": "cross-env NODE_ENV=development nuxt build",

预生产上线打包
  "build-prer": "cross-env NODE_ENV=prerelease nuxt build",

生产版上线打包
  "build-prod": "cross-env NODE_ENV=production nuxt build",

关于package.js 的命令讲解完了接下来解释一下 NODE_ENV 就是项目全局的变量可自定义,定义的地方就是上门我们解读我们启动项目package.js命令里面(上面列举的"环境篇NODE_EVN = "自定义名称"


使用篇  (既然配置好了环境变量那么该怎么使用呢?)

1.本地环境Axios请求的配置
process.env.NODE_ENV 就是我们定义变量

例如在配置项目本地开发请求跟线上请求的时候做个判断
if (process.env.NODE_ENV == 'production') {
    //线上
  axios.defaults.baseURL = "https:xxx.xxx.xxx"

} else if (process.env.NODE_ENV == 'development') {
    //本地
  axios.defaults.baseURL = 'http://192.168.1.1:80'

} else {
    //预发布
  axios.defaults.baseURL = 'http://xxx.xxx.1.1:80' //

}

  


   2. 线上环境的请求配置

一般来说线上项目可能会有涉及到跨域的问题
在vue的配置文件可以设置 porxy跨域代理 (为什么axios不能跨域这个问题自己百度)
vue项目一般来说依赖Node启动 vue跨域的原理就是在当前环境启动一个Node服务器 然后服务器跟服务器之前访问解决了跨域问题
VueCli 2.x的项目的配置文件在根目录的 config - index.js  具体配置请自行百度
* 特别说明一下VueCli3.x 的环境配置  需要自己在根目录新建.env.development  或者.env.production 文件

// .env.development

NODE_ENV = 'development'
VUE_APP_CURRENTMODE = 'dev' 

VUE_APP_BASEURL = '本地开发api地址'

//例如
VUE_APP_BASE_API='192.xxx.xxx.1:80'

 

新出的VueCli3搭建的项目运行很快不得不点赞
VueCli 3.x的跨域配置 根目录 自行新建个  vue.config.js文件 自行配置 线上/api  预发布 /pre
module.exports = {
    // 修改的配置
    // 将baseUrl: '/api',改为baseUrl: '/',
    baseUrl: '/',
    devServer: {
        proxy: {
            '/api': {
                target: 'http://www.example.org',
                changeOrigin: true,
                ws: true,
                pathRewrite: {
                  '^/api': ''
                }
            }
        }
    }
}

Vue 2.x 3.x 配置项目开发环境跟线上环境的更多相关文章

  1. express框架开发接口部署线上环境PM2

    1.PM2介绍 PM2是一个线上环境下,用于启动nodejs进程守护的工具,用来保证服务的稳定及分摊服务器进程和压力. 2.下载安装 npm install pm2 -g  => pm2 --v ...

  2. 92.vue---新手从本地项目开发到服务器线上运行爬坑。

    因为我做的是后台,所以不用做SEO 参考 本项目的定位是后台集成方案,不太适合当基础模板来进行二次开发.因为本项目集成了很多你可能用不到的功能,会造成不少的代码冗余.如果你的项目不关注这方面的问题,也 ...

  3. vue编译环境和线上环境url切换

    新建一个配置js,导入到接口请求管理类,可以自动根据环境切换if (process.env.NODE_ENV == 'development') { baseUrl = ''; }else{ base ...

  4. 基于Vue、web3的以太坊项目开发及交易内幕初探 错误解决总结

    基于Vue.web3的以太坊项目开发及交易内幕初探 本文通过宏观和微观两个层面窥探以太坊底层执行逻辑. 宏观层面描述创建并运行一个小型带钱包的发币APP的过程,微观层面是顺藤摸瓜从http api深入 ...

  5. vue本地和线上环境(域名)配置

    vue本身为运行脚手架项目自家搭载了一个nodejs后台环境,本地可通过proxyTable来处理跨域问题,但是上线(或生产环境)之后改域名真是一件麻烦的事情,所以进行一些配置. config/ind ...

  6. wechat开发笔记之1.线上环境搭建与测试

    Wechat开发笔记 线上环境搭建: 申请一个wechat公众平台. 手机个人微信可以用webwechat来测试. Website:https://web.weixin.qq.com/ 手机客户端扫一 ...

  7. 由定时脚本错误以及Elasticsearch配置错误引发的Flink线上事故

    近期接手离职同事项目,突然遇到线上事故,Flink无法正常聚合数据生成指标. 以下是详细的排查过程: 问题复现 清晨,运维报告Flink数据分析模块无法正常生成指标数据. 赶紧登陆Flink所在机器, ...

  8. SharePoint Server 2013开发之旅(三):为SharePoint Server配置App开发、部署、管理环境

    上一篇我讲解了如何利用微软提供的Office 365开发人员网站,进行在线的SharePoint App开发,这当然是不错的一个选择,因为你可以快速地进行开发和调试.(仅仅针对App开发而言).但是, ...

  9. 每天一点点之vue框架开发 - 部署到线上

    1.在项目根目录下运行如下命令 npm run build 会生成一个dist目录, 2.然后将dist目录上传至服务器就可以访问页面了,不需要配置vue环境了.

随机推荐

  1. asp.net core learn

    .NET Core WebApi RESTful规范 RESTful API 最佳实践 理解RESTful架构 接口版本控制 Support multiple versions of ASP.NET ...

  2. CSDN VIP如何添加引流自定义栏目

    几个月前我也开始在csdn上开了博客,一来给自己加几个少的可怜的流量,再者,让公众号的原创文章获得更多的曝光,让有需要的同学看到. 写过csdn博客的同学都知道,默认只有打赏c币功能:也没有专门广告位 ...

  3. cookie和session,cookie和web storage

    一.cookie和session cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式. session指的是访问者从到达某个特定页面到离开为止 ...

  4. 时间复杂度————被list.insert坑了

    今天被一个很简单的坑到了,还想了很长时间,insert 函数,真的知道它内部执行的操作吗? 开始其实是在看一本算法的书,书里面给了两段工作内容差不多的伪代码 第一段如下: data = [] whil ...

  5. C#用抽象类定义几何图形

    using System;/*using System.Data;*/namespace tx{    abstract class tx    {        public double chan ...

  6. 一次对php大马的后门的简单分析

    有人分享了一个php大马(说是过waf),八成有后门,简单分析了一次 <?php $password='Shiqi';//登录密码(支持菜刀) //----------功能程序--------- ...

  7. Kali Linux开启ssh服务设置自启

    几天没写 水一些今天遇到的问题 0x01 配置SSH参数 修改sshd_config文件,命令为:   vi /etc/ssh/sshd_config 将#PasswordAuthentication ...

  8. 高精度运算略解 在struct中重载运算符

    高精度 高精度,即高精度算法,属于处理大数字的数学计算方法.在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字. 重载运算符 运算符重载,就是对已有的运算符重新进行 ...

  9. 概念理解-异步IO

    #include <aio.h> /* 函数名 :int aio_write(struct aiocb *aiocbp) 参 数 :struct aiocb *aiocbp 返回值 :执行 ...

  10. C语言1作业004

    这个作业属于哪个课程 C语言作业004 我在这个课程的目标是 理解和掌握for语句的基本操作 这个作业在哪个具体方面帮助我实现目标 循环结构的应用,数学函数基本问题 参考文献 C语言程序设计(第3版) ...