【Vue】部署、测试

13 篇文章 0 订阅
11 篇文章 0 订阅

vue-cli环境变量配置
四种方式来制定环境变量:
在根目录添加.env文件,配置所有情况下都会用到的配置(不知道这个存在的意义,所有的都需要的也就不需要配置了吧)。
在根目录添加.env.local 文件,配置所有情况下都会用到的配置,与.env的区别是只会在本地,该文件不会被git跟踪。
在根目录添加.env.[mode] 文件,配置对应某个模式下的配置,比如:.env.development来配置开发环境的配置。
在根目录添加.env.[mode].local文件,配置对应某个模式下的配置,与.env.[mode]的区别也只是会在本地生效,该文件不会被git跟踪。
在文件中,我们只需要以key=value的方式就可以设置变量了。

配置文件:
在这里插入图片描述

使用:
在项目中
在这里插入图片描述

在Webpack中
直接用process.env.xxx使用

跨域
webpack解决方案:
使用devServer的proxy进行代理

devServer: {
    port: port,
    proxy: {
        // 代理 /dev-api/user/login 到 http://127.0.0.1:3000/user/login
        '/dev-api/user/login': {
            target: `http://127.0.0.1:3000/`,
            changeOrigin: true,
            pathRewrite: {
            ["^" + process.env.VUE_APP_BASE_API]: ""
            }
        }
    },
}

CORS解决方案:
后台请求头配置:Access-Control-Allow-Origin:*

Nginx反向代理和部署
我们的页面放在Nginx服务器,自然和Nginx不存在跨域问题,可以用Nginx请求API接口,然后把结果返回给页面。
在nginx的conf文件夹nginx.config中配置反向代理
匹配到/api/请求时候,代理到 http://localhost:3000这个地址去
在这里插入图片描述

部署
1、打包项目,生成dist目录
2、打开nginx文件夹的conf下的nginx.conf文件
3、根据打包路径上下文,把dist文件目录修改一下,新增一级文件夹best-practice(如果没有配置publicPath可以不用做这一步操作)
在这里插入图片描述
把原本dist目录下的文件放入best-practice文件夹中
在这里插入图片描述
4、配置nginx服务信息
在http 的 server 下新增如下配置
# 项目根,大家改成自己的目录
root C:\Users\Administrator\Desktop\web11期课件\07课vue项目最佳实践(7月10号)\vue-study\dist; #项目dist目录

    # history fallback 
    location /best-practice { 
        #try_files 尝试访问路径对应的文件或者文件夹
        #比如/best-practice/login => $uri
        #如果这个地址不是静态资源,则回退到下面的/best-practice/index.html
        try_files $uri /best-practice/index.html; 
    }
    
    #反向代理,实现接口转发 
    location ^~ /api/ { 
        # 把/api去除 
        rewrite ^/api/(.*)$ /$1 break; 
        # 代理到3000服务上 
        proxy_pass http://localhost:3000; 
    }

5、在nginx根目录使用命令行工具启动nginx服务器
启动命令:start nginx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值