ソースを参照

websocket代理配置

wukai 2 年 前
コミット
18c06d5506
2 ファイル変更72 行追加56 行削除
  1. 6 2
      src/views/biz/test/index.vue
  2. 66 54
      vite.config.js

+ 6 - 2
src/views/biz/test/index.vue

@@ -49,11 +49,15 @@
 				var vue = this;
 				//创建websocket
 				if (window.WebSocket) {
-					vue.ws = new WebSocket("ws://localhost:8080/websocket/message/" + useUserStore().uid);
+					let url=`${window.location.origin.replace("http", "ws")}/websocket/message/${useUserStore().uid}`;
+					console.error(url);
+					vue.ws=new WebSocket(url);
+					
+					// vue.ws = new WebSocket("ws://localhost:8080/websocket/message/" + useUserStore().uid);
 				}
 				//绑定建立连接事件
 				vue.ws.onopen = function(evt) {
-
+					console.log("连接成功了啊喂?")
 				}
 				//evt事件对象
 				vue.ws.onmessage = function(evt) {

+ 66 - 54
vite.config.js

@@ -1,58 +1,70 @@
-import { defineConfig, loadEnv } from 'vite'
+import {
+	defineConfig,
+	loadEnv
+} from 'vite'
 import path from 'path'
 import createVitePlugins from './vite/plugins'
 
 // https://vitejs.dev/config/
-export default defineConfig(({ mode, command }) => {
-  const env = loadEnv(mode, process.cwd())
-  const { VITE_APP_ENV } = env
-  return {
-    // 部署生产环境和开发环境下的URL。
-    // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上
-    // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
-    base: VITE_APP_ENV === 'production' ? '/' : '/',
-    plugins: createVitePlugins(env, command === 'build'),
-    resolve: {
-      // https://cn.vitejs.dev/config/#resolve-alias
-      alias: {
-        // 设置路径
-        '~': path.resolve(__dirname, './'),
-        // 设置别名
-        '@': path.resolve(__dirname, './src')
-      },
-      // https://cn.vitejs.dev/config/#resolve-extensions
-      extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
-    },
-    // vite 相关配置
-    server: {
-      port: 81,
-      host: true,
-      open: true,
-      proxy: {
-        // https://cn.vitejs.dev/config/#server-proxy
-        '/dev-api': {
-          target: 'http://192.168.1.28:8080/',
-          changeOrigin: true,
-          rewrite: (p) => p.replace(/^\/dev-api/, '')
-        }
-      }
-    },
-    //fix:error:stdin>:7356:1: warning: "@charset" must be the first rule in the file
-    css: {
-      postcss: {
-        plugins: [
-          {
-            postcssPlugin: 'internal:charset-removal',
-            AtRule: {
-              charset: (atRule) => {
-                if (atRule.name === 'charset') {
-                  atRule.remove();
-                }
-              }
-            }
-          }
-        ]
-      }
-    }
-  }
-})
+export default defineConfig(({
+	mode,
+	command
+}) => {
+	const env = loadEnv(mode, process.cwd())
+	const {
+		VITE_APP_ENV
+	} = env
+	return {
+		// 部署生产环境和开发环境下的URL。
+		// 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上
+		// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
+		base: VITE_APP_ENV === 'production' ? '/' : '/',
+		plugins: createVitePlugins(env, command === 'build'),
+		resolve: {
+			// https://cn.vitejs.dev/config/#resolve-alias
+			alias: {
+				// 设置路径
+				'~': path.resolve(__dirname, './'),
+				// 设置别名
+				'@': path.resolve(__dirname, './src')
+			},
+			// https://cn.vitejs.dev/config/#resolve-extensions
+			extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
+		},
+		// vite 相关配置
+		server: {
+			port: 80,
+			host: true,
+			open: true,
+			proxy: {
+				// https://cn.vitejs.dev/config/#server-proxy
+				'/dev-api': {
+					target: 'http://localhost:8080/',
+					changeOrigin: true,
+					rewrite: (p) => p.replace(/^\/dev-api/, '')
+				},
+				//websocket代理
+				'/websocket': {
+					target: 'ws://localhost:8080/websocket',
+					changeOrigin: true,
+					rewrite: (p) => p.replace(/^\/websocket/, '')
+				}
+			}
+		},
+		//fix:error:stdin>:7356:1: warning: "@charset" must be the first rule in the file
+		css: {
+			postcss: {
+				plugins: [{
+					postcssPlugin: 'internal:charset-removal',
+					AtRule: {
+						charset: (atRule) => {
+							if (atRule.name === 'charset') {
+								atRule.remove();
+							}
+						}
+					}
+				}]
+			}
+		}
+	}
+})