Files
pronature-platform/vite.config.mjs
T
2026-02-05 13:50:06 +02:00

100 lines
2.3 KiB
JavaScript

// Plugins
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import Fonts from 'unplugin-fonts/vite'
import Layouts from 'vite-plugin-vue-layouts'
import Vue from '@vitejs/plugin-vue'
import VueRouter from 'unplugin-vue-router/vite'
import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
import basicSsl from '@vitejs/plugin-basic-ssl'
import wasm from 'vite-plugin-wasm'
import topLevelAwait from 'vite-plugin-top-level-await'
// Utilities
import { defineConfig } from 'vite'
import { fileURLToPath, URL } from 'node:url'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
VueRouter(),
Layouts(),
Vue({
template: { transformAssetUrls: false }
}),
// https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
Vuetify({
autoImport: true,
styles: {
configFile: 'src/styles/settings.scss',
},
}),
Components(),
Fonts({
google: {
families: [{
name: 'Roboto',
styles: 'wght@100;300;400;500;700;900',
}],
},
}),
AutoImport({
imports: [
'vue',
'vue-router',
],
eslintrc: {
enabled: true,
},
vueTemplate: true,
}),
basicSsl(),
wasm(), topLevelAwait()
],
define: { 'process.env': {} },
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
'#': fileURLToPath(new URL('./backend', import.meta.url))
},
extensions: [
'.js',
'.json',
'.jsx',
'.mjs',
'.ts',
'.tsx',
'.vue',
],
},
build:{
outDir:'./frontend',
},
server: {
watch: {
ignored: /repo|3rdparty/
},
hmr:true,
strictPort: true,
host:'127.0.0.1',//'192.168.31.137', //'192.168.83.59',//
proxy:{
'/api': {
target: 'https://localhost:3000',
changeOrigin: true,
secure: false
},
'/asset': {
target: 'https://localhost:3000',
changeOrigin: true,
secure: false
},
'^/proxied/.*': {
target: 'https://localhost:3000',
changeOrigin: true,
secure: false,
rewrite: (path) => path.replace(/^\/proxied/, ''),
},
}
}
})