先找到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. 学Python的第一天

    第一天学习笔记 一.安装typroa 下载软件typroa用于日常学习笔记记录,该软件支持markdown语法 步骤: 官网地址:https://typora.io/ 选择版本安装(以windows为 ...

  2. 新手学分布式-动态修改Nginx配置的一些想法

    本人是分布式的新手,在实际工作中遇到了需要动态修改nginx的需求,因此写下实现过程中的想法.Nginx功能强大且灵活,所以这些权当抛砖引玉,希望可以得到大家的讨论和指点.(具体代码在 https:/ ...

  3. 【TencentOS tiny】深度源码分析(1)——task

    任务的基本概念 从系统的角度看,任务是竞争系统资源的最小运行单元.TencentOS tiny是一个支持多任务的操作系统,任务可以使用或等待CPU.使用内存空间等系统资源,并独立于其它任务运行,理论上 ...

  4. Maven插件构建Docker镜像

    背景 微服务架构下,微服务在带来良好的设计和架构理念的同时,也带来了运维上的额外复杂性,尤其是在服务部署和服务监控上.单体应用是集中式的,就一个单体跑在一起,部署和管理的时候非常简单,而微服务是一个网 ...

  5. mac安装flask

    1.1使用虚拟环境 输入以下命令可以检查系统是否安装了 virtualenv: $ virtualenv --version 大多数 Linux 发行版都提供了 virtualenv 包.例如,Ubu ...

  6. python服务端工程师就业面试指导☝☝☝

    python服务端工程师就业面试指导 由Python专业面试官打造的课,少之又少,专业代表着经验,代表着对考察点的通透理解,更代表着对你负责 第1章 Python工程师offer直通车(视频+教辅文档 ...

  7. mysqldump导出 timestamp类型数据 时区偏差8小时

    1 出现原因 1.1 查看机器时区和MySQL的时区 #查看linux的机器时区: [root@mysql-150 ~]# date -R Wed, 23 Oct 2019 14:10:04 +080 ...

  8. java web项目下的lib和build path 中jar包问题解惑

    一.build path&WEB-INFO/lib介绍 build path:可以说是引用: WEB-INFO/lib:可以说是固定在一个地方: eclipse编译项目的时候是根据build ...

  9. Linux Centos7 基于Docker 搭建 Nexus私服搭建

    创建Blob Stores[本地文件存储目录,统一管理] 1.设置名称和工作路径: ps[注意事项]: 1.storage name:自定义名称 2.storage path:存储路径,默认[/nex ...

  10. ESP8266开发之旅 网络篇⑧ SmartConfig——一键配网

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...