diff --git a/.env.development b/.env.development
index 1b21bae..614e5bf 100644
--- a/.env.development
+++ b/.env.development
@@ -1 +1 @@
-VITE_SERVER_URL = "http://localhost:5244/"
\ No newline at end of file
+VITE_API_URL = "http://localhost:5244/"
\ No newline at end of file
diff --git a/.env.production b/.env.production
index 27d2f08..e27fee0 100644
--- a/.env.production
+++ b/.env.production
@@ -1 +1 @@
-VITE_SERVER_URL = "/"
\ No newline at end of file
+VITE_API_URL = "/"
\ No newline at end of file
diff --git a/index.html b/index.html
index 665a261..5c0b468 100644
--- a/index.html
+++ b/index.html
@@ -11,16 +11,17 @@
href="https://jsd.nn.ci/gh/alist-org/logo@main/logo.svg"
/>
Loading...
-
-
+
+
You need to enable JavaScript to run this app.
diff --git a/package.json b/package.json
index d18db7e..369818b 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"terser": "^5.14.2",
"typescript": "^4.7.4",
"vite": "^3.0.8",
+ "vite-plugin-dynamic-base": "^0.4.4",
"vite-plugin-solid": "^2.3.0"
},
"dependencies": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7216821..cec32fa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -25,6 +25,7 @@ specifiers:
terser: ^5.14.2
typescript: ^4.7.4
vite: ^3.0.8
+ vite-plugin-dynamic-base: ^0.4.4
vite-plugin-solid: ^2.3.0
dependencies:
@@ -54,6 +55,7 @@ devDependencies:
terser: 5.14.2
typescript: 4.7.4
vite: 3.0.8_terser@5.14.2
+ vite-plugin-dynamic-base: 0.4.4
vite-plugin-solid: 2.3.0_solid-js@1.4.8+vite@3.0.8
packages:
@@ -665,6 +667,10 @@ packages:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
+ /boolbase/1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+ dev: true
+
/brace-expansion/1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
dependencies:
@@ -767,6 +773,21 @@ packages:
requiresBuild: true
dev: true
+ /css-select/4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+ dev: true
+
+ /css-what/6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+ dev: true
+
/csstype/3.0.11:
resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==}
dev: false
@@ -803,10 +824,41 @@ packages:
engines: {node: '>=0.3.1'}
dev: false
+ /dom-serializer/1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+ dev: true
+
+ /domelementtype/2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+ dev: true
+
+ /domhandler/4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+ dev: true
+
+ /domutils/2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ dev: true
+
/electron-to-chromium/1.4.221:
resolution: {integrity: sha512-aWg2mYhpxZ6Q6Xvyk7B2ziBca4YqrCDlXzmcD7wuRs65pVEVkMT1u2ifdjpAQais2O2o0rW964ZWWWYRlAL/kw==}
dev: true
+ /entities/2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+ dev: true
+
/esbuild-android-64/0.14.54:
resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
engines: {node: '>=12'}
@@ -1215,6 +1267,11 @@ packages:
space-separated-tokens: 2.0.1
dev: false
+ /he/1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+ dev: true
+
/hey-listen/1.0.8:
resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==}
dev: false
@@ -1814,10 +1871,23 @@ packages:
whatwg-url: 5.0.0
dev: true
+ /node-html-parser/5.4.1:
+ resolution: {integrity: sha512-xy/O2wOEBJsIRLs4avwa1lVY7tIpXXOoHHUJLa0GvnoPPqMG1hgBVl1tNI3GHOwRktTVZy+Y6rjghk4B9/NLyg==}
+ dependencies:
+ css-select: 4.3.0
+ he: 1.2.0
+ dev: true
+
/node-releases/2.0.6:
resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
dev: true
+ /nth-check/2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ dependencies:
+ boolbase: 1.0.0
+ dev: true
+
/once/1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
@@ -2238,6 +2308,12 @@ packages:
vfile-message: 3.1.2
dev: false
+ /vite-plugin-dynamic-base/0.4.4:
+ resolution: {integrity: sha512-++d35lUSWhIRcoKfTUlWSe3BFMTJPB0iQzAhNCNwiFILfouXAosGhB0DNjtxiIuHSORSrxwawzlwByAGbDuJgA==}
+ dependencies:
+ node-html-parser: 5.4.1
+ dev: true
+
/vite-plugin-solid/2.3.0_solid-js@1.4.8+vite@3.0.8:
resolution: {integrity: sha512-N2sa54C3UZC2nN5vpj5o6YP+XdIAZW6n6xv8OasxNAcAJPFeZT7EOVvumL0V4c8hBz1yuYniMWdESY8807fVSg==}
peerDependencies:
diff --git a/src/utils/config.ts b/src/utils/config.ts
index 2da9098..1ce38a1 100644
--- a/src/utils/config.ts
+++ b/src/utils/config.ts
@@ -14,7 +14,7 @@ if (window.ALIST.base_path) {
setBasePath(window.ALIST.base_path);
}
-export let api = import.meta.env.VITE_SERVER_URL as string;
+export let api = import.meta.env.VITE_API_URL as string;
if (window.ALIST.api) {
api = window.ALIST.api;
}
diff --git a/vite.config.ts b/vite.config.ts
index 5c08fd4..b727399 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -2,6 +2,7 @@ import path from "path";
import { defineConfig } from "vite";
import solidPlugin from "vite-plugin-solid";
import legacy from "@vitejs/plugin-legacy";
+import { dynamicBase } from "vite-plugin-dynamic-base";
export default defineConfig({
resolve: {
@@ -15,9 +16,25 @@ export default defineConfig({
legacy({
targets: ["defaults"],
}),
+ dynamicBase({
+ // dynamic public path var string, default window.__dynamic_base__
+ publicPath: " window.__dynamic_base__",
+ // dynamic load resources on index.html, default false. maybe change default true
+ transformIndexHtml: true,
+ }),
],
+ base: process.env.NODE_ENV === "production" ? "/__dynamic_base__/" : "/",
+ // base: "/",
build: {
- target: "esnext",
+ target: "es2015", //next
// polyfillDynamicImport: false,
},
+ // experimental: {
+ // renderBuiltUrl: (filename, { type, hostId, hostType }) => {
+ // if (type === "asset") {
+ // return { runtime: `window.ALIST.cdn/${filename}` };
+ // }
+ // return { relative: true };
+ // },
+ // },
});