VUE(2.6.10) VUE-CLI (4.1.0) 打包发布到NGINX流程

VUE(2.6.10) VUE-CLI (4.1.0) 打包发布到NGINX流程

前后端分离项目,前端开发过程中遇到跨域问题,通过配置devServer解决跨域后,打包前端项目发布到NGINX后,仍然存在跨域问题。
1、打包前修改前端配置vue.config.js(如果不存在可手动创建)

VUE(2.6.10) VUE-CLI (4.1.0) 打包发布到NGINX流程_第1张图片

module.exports = {
    publicPath:"/",
    outputDir: 'dist',
    lintOnSave: true,
    //devServer.proxy适用于本地开发使用,
    //生成环境请用第三方代理软件,如nginx。
    // devServer: {
    //     port: 8081, //本机端口号
    //     host: "127.0.0.1", //本机主机名
    //     https: false, //协议
    //     open: true, //启动服务器时自动打开浏览器访问
    //     proxy: {
    //         '/apis': {
    //             target: "http://127.0.0.1:80",
    //             changOrigin: true, //开启代理
    //             pathRewrite: {
    //                 '^/apis': ''
    //             }
    //         }
    //     }
    // }
}

2、修改前端路由配置,模式改为history
const router = new VueRouter({
    mode: 'history',
    routes: routers
})

3、其他配置按照前面的文章 VUE(2.6.10) VUE-AXIOS(2.1.5) VUE-CLI (4.1.0) 解决跨域问题 配置保持不变

在这里插入图片描述


4、打包代码

VUE(2.6.10) VUE-CLI (4.1.0) 打包发布到NGINX流程_第2张图片


5、 上dist文件传到服务器

VUE(2.6.10) VUE-CLI (4.1.0) 打包发布到NGINX流程_第3张图片


6、 修改NGINX配置解决跨域

VUE(2.6.10) VUE-CLI (4.1.0) 打包发布到NGINX流程_第4张图片
红框中为后端接口的真实路径

user root;
worker_processes auto;
worker_rlimit_nofile 204800;
events {
  use epoll;
  worker_connections 204800;
  accept_mutex on;
  multi_accept on;
}
http {
  include mime.types;
  default_type application/octet-stream;
  server {
    listen 1111;
    server_name 192.168.116.108;
    root /data/cloud/dist;
    location /apis/ {
      proxy_pass http://192.168.116.116:8887/;
    }
    location / {
      index index.html index.htm;
      try_files $uri $uri/ /index.html;
    }
  }
}


7、重启NGINX
cd /data/nginx/sbin
./nginx -s reload

8、若图片不显示可把前端图片路径配置成相对路径

VUE(2.6.10) VUE-CLI (4.1.0) 打包发布到NGINX流程_第5张图片

你可能感兴趣的:(vue,Linux,Nginx,vue.js,nginx,前端,shell,vue-cli3)