vue run dev 配置nginx

由于项目有多个vue项目,在开发过程中需要联调,而不是每次发布后再联调. 比如有2个项目: main-project(主项目),test1-project. 由于是多项目,每个项目相当于有一个独立的域,这里test1-project设置域名称为test1

vue修改

在vite.config.ts中配置一个base:"/test1/",

javascript 复制代码
import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
  ],
  base:"/test1/",
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})

然后npm run dev, 默认启动地址是: http://localhost:5173/test1/ ,这样相当于在原有的域名中添加了test1域.

无论是调试环境,还是build环境(将发布的文件放到服务器test1中也可以通过nginx配置)都可以使用.

nginx配置

nginx配置时遇到1个问题, vue加载非常慢,后面更新了nginx版本解决的.

http://nginx.org/download/nginx-1.24.0.zip

javascript 复制代码
worker_processes 1;
events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    gzip on;
	gzip_comp_level 2;
	gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss;	
	access_log  off;
    error_log off;	

    server {
        listen 8081;
        expires -1;
        server_name localhost;
        client_max_body_size 100m;
        #proxy_set_header Host $http_host;
		
		proxy_set_header Cookie $http_cookie;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   
      
		#test1-project配置,注意地址有test1,保持websocket
		location ^~/test1/ {		
			proxy_pass http://localhost:5173/test1/;	
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
		}		

		#main-project的配置
		location ^~/ {		
			proxy_pass http://localhost:5173/;	
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
		}

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }

    }
}

这样配置后,也可以实现代码保存界面马上更新的效果.

相关推荐
漫路在线8 分钟前
JS逆向-某易云音乐下载器
开发语言·javascript·爬虫·python
不爱吃糖的程序媛11 分钟前
浅谈前端架构设计与工程化
前端·前端架构设计
BillKu2 小时前
Vue3 Element Plus 对话框加载实现
javascript·vue.js·elementui
郝YH是人间理想2 小时前
系统架构设计师案例分析题——web篇
前端·软件工程
Evaporator Core2 小时前
深入探索:Core Web Vitals 进阶优化与新兴指标
前端·windows
初遇你时动了情3 小时前
html js 原生实现web组件、web公共组件、template模版插槽
前端·javascript·html
QQ2740287563 小时前
Soundness Gitpod 部署教程
linux·运维·服务器·前端·chrome·web3
前端小崔3 小时前
从零开始学习three.js(18):一文详解three.js中的着色器Shader
前端·javascript·学习·3d·webgl·数据可视化·着色器
哎呦你好3 小时前
HTML 表格与div深度解析区别及常见误区
前端·html
运维@小兵3 小时前
vue配置子路由,实现点击左侧菜单,内容区域显示不同的内容
前端·javascript·vue.js