前端-部署配置前端项目时,关于env.development、env.production以及nginx.conf的关系

发布时间:2023年12月26日

今天要打包前端项目生产镜像部署,学习到了关于env.development、env.production以及nginx.conf的关系

env.development

首先是env.development,这里面主要放的是我们本地开发时的代理服务器(需要代理来解决跨域问题的话)

env.production

当你不需要配置环境变量的时候,可以将这个理解为线上的env.development,即项目上线之后,代理服务器这些用的就不是env.development的配置了,所以需要将线上想要的访问的地址写死在这里就行

nginx.conf

当需要部署前端应用时,添加应用的环境变量的时候,例如前端的访问地址前缀之类的,可以将这些前缀作为环境变量,写在nginx.conf中。例如:

server {
        listen 8080;
        server_name localhost;

        location ^~/mgrcontrol/{
            proxy_pass  '$MGR_SERVICE';
        }

        location /{
          add_header Access-Control-Allow-Origin *;
          add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
          add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
          if ($request_method = 'OPTIONS') {
            return 204;
          }
          root   /opt/apps/dist;
          index  index.html index.htm;
          try_files $uri $uri/ /index.html;
        }
    }

即线上访问前缀为mgrcontrol时,会去寻找环境变量中$MGR_SERVICE的值,然后进行访问地址的替换

总结

env.production和nginx.conf的区别就在于,你是否想要将前端访问的地址作为环境变量暴露出去,这么做的意义在于可以线上随时修改访问的地址,而不需要再去改动代码。

文章来源:https://blog.csdn.net/qq_42371932/article/details/135226319
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。