Quellcode durchsuchen

Use .env in svelte.config and vite.config

Allan Mariano vor 3 Monaten
Ursprung
Commit
0ee17bd4f8
2 geänderte Dateien mit 39 neuen und 25 gelöschten Zeilen
  1. 11 11
      svelte.config.js
  2. 28 14
      vite.config.js

+ 11 - 11
svelte.config.js

@@ -1,14 +1,14 @@
-import adapter from '@sveltejs/adapter-static'; 
-import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; 
+import staticAdapter from '@sveltejs/adapter-static';
+import autoAdapter from '@sveltejs/adapter-auto';
+import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
 
-export default { 
-  preprocess: vitePreprocess(), 
-  kit: { 
-    adapter: adapter({ 
-      pages: 'build', 
-      assets: 'build', 
-      fallback: 'index.html'
-    }),
-    prerender: { entries: [] }
+const isProd = process.env.NODE_ENV === 'production';
+
+export default {
+  preprocess: vitePreprocess(),
+  kit: {
+    adapter: isProd
+      ? staticAdapter({ pages: 'build', assets: 'build', fallback: 'index.html' })
+      : autoAdapter()
   }
 };

+ 28 - 14
vite.config.js

@@ -1,16 +1,30 @@
+// vite.config.js
 import { sveltekit } from '@sveltejs/kit/vite';
-import { defineConfig } from 'vite';
+import { defineConfig, loadEnv } from 'vite';
 
-export default defineConfig({
-	plugins: [sveltekit()],
-	server: {
-		host: true,
-		port: 5173,
-		allowedHosts: ['10.80.146.81', 'mixtab.com.br'],
-		hmr: {
-			host: 'mixtab.com.br',
-			protocol: 'wss',
-			clientPort: 443
-		}
-	}
-});
+export default ({ mode }) => {
+  const env = loadEnv(mode, process.cwd(), '');
+  const isDev = mode === 'development';
+
+  const allowed = env.VITE_ALLOWED_HOSTS
+    ? env.VITE_ALLOWED_HOSTS.split(',').map(s => s.trim()).filter(Boolean)
+    : undefined;
+
+  return defineConfig({
+    plugins: [sveltekit()],
+    server: isDev
+      ? {
+          host: true,
+          port: 5173,
+          ...(allowed && { allowedHosts: allowed }),
+          ...(env.VITE_HMR_HOST && {
+            hmr: {
+              host: env.VITE_HMR_HOST,
+              protocol: env.VITE_HMR_PROTOCOL || 'wss',
+              clientPort: Number(env.VITE_HMR_PORT || 443)
+            }
+          })
+        }
+      : undefined
+  });
+};