mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-11-10 10:33:41 +08:00
feat: use vite
This commit is contained in:
44
web/vite.config.js
Normal file
44
web/vite.config.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import fs from "node:fs";
|
||||
import { defineConfig } from 'vite'
|
||||
import react from '@vitejs/plugin-react'
|
||||
import * as esbuild from "esbuild";
|
||||
|
||||
const sourceJSPattern = /\/src\/.*\.js$/;
|
||||
const rollupPlugin = (matchers) => ({
|
||||
name: "js-in-jsx",
|
||||
load(id) {
|
||||
if (matchers.some(matcher => matcher.test(id))) {
|
||||
const file = fs.readFileSync(id, { encoding: "utf-8" });
|
||||
return esbuild.transformSync(file, { loader: "jsx" });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
react()
|
||||
],
|
||||
build: {
|
||||
outDir: "./build",
|
||||
rollupOptions: {
|
||||
plugins: [
|
||||
rollupPlugin([sourceJSPattern])
|
||||
],
|
||||
},
|
||||
commonjsOptions: {
|
||||
transformMixedEsModules: true,
|
||||
},
|
||||
},
|
||||
optimizeDeps: {
|
||||
esbuildOptions: {
|
||||
loader: {
|
||||
".js": "jsx",
|
||||
},
|
||||
},
|
||||
},
|
||||
esbuild: {
|
||||
loader: "jsx",
|
||||
include: [sourceJSPattern],
|
||||
exclude: [],
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user