feat(directory): update routers

This commit is contained in:
Haoyu Xu
2023-02-22 19:54:23 -05:00
parent ef10b8fb55
commit b5d44855fe
7 changed files with 54 additions and 51 deletions

View File

@@ -8,27 +8,12 @@ import {
} from "react-router-dom";
import Root from "@/routes/root";
import ErrorPage from "@/routes/error-page";
import Index from "@/routes/index";
import Operator from "@/routes/operator";
import routes from "@/routes";
import '@/App.css';
import 'reset-css';
document.title = import.meta.env.VITE_APP_TITLE;
const routes = [
{
path: "",
index: true,
name: "Home",
element: <Index />
}, {
path: "operator/:key",
index: false,
name: "Operator",
element: <Operator />
}
]
const router = createBrowserRouter(
createRoutesFromElements(
<Route

View File

@@ -1,24 +1,16 @@
import {
useState,
useEffect
} from 'react'
import './index.css'
import Home from "@/routes/path/home";
import Operator from "@/routes/path/operator";
export default function Index(props) {
useEffect(() => {
fetch("/_assets/directory.json").then(res => res.json()).then(data => {
console.log(data)
})
}, [])
return (
<section>
<section>
1233
</section>
<section>
22s
</section>
</section>
)
}
export default [
{
path: "",
index: true,
name: "Home",
element: <Home />
}, {
path: "operator/:key",
index: false,
name: "Operator",
element: <Operator />
}
]

View File

@@ -0,0 +1,24 @@
import {
useState,
useEffect
} from 'react'
import './home.css'
export default function Home(props) {
useEffect(() => {
fetch("/_assets/directory.json").then(res => res.json()).then(data => {
console.log(data)
})
}, [])
return (
<section>
<section>
1233
</section>
<section>
22s
</section>
</section>
)
}

View File

@@ -22,13 +22,13 @@ class ViteRunner {
},
}
config() {
get config() {
let result;
const temp = process.env.npm_lifecycle_event.split(':')
this.#mode = temp[0] === "vite" ? temp[1] : process.argv[2]
switch (this.#mode) {
case 'directory':
result = this.directory()
result = this.#directoryConfig
const op = temp[2] || process.argv[3]
if (op !== 'preview') {
rmdir(path.resolve(__projetRoot, this.#globalConfig.folder.release, "_directory"))
@@ -39,7 +39,7 @@ class ViteRunner {
case 'build':
case 'build-all':
case 'preview':
result = this.operator()
result = this.#operatorConfig
break
default:
return
@@ -47,8 +47,8 @@ class ViteRunner {
return result
}
async start() {
const viteConfig = this.config();
start() {
const viteConfig = this.config;
switch (this.#mode) {
case 'dev':
this.#dev(viteConfig)
@@ -96,7 +96,7 @@ class ViteRunner {
})()
}
operator() {
get #operatorConfig() {
const operatorName = process.env.O || process.argv[3]
assert(operatorName, 'Please set the operator name by using environment variable O.')
return {
@@ -104,6 +104,9 @@ class ViteRunner {
envDir: path.join(__projetRoot, this.#globalConfig.folder.operator, operatorName),
publicDir: path.resolve(__projetRoot, this.#globalConfig.folder.release, operatorName),
root: path.resolve(__projetRoot),
server: {
...this.#baseViteConfig.server,
},
resolve: {
alias: {
'@': path.resolve(__projetRoot, './src'),
@@ -118,18 +121,17 @@ class ViteRunner {
}
}
directory() {
get #directoryConfig() {
const directoryDir = path.resolve(__projetRoot, 'directory')
this.#mode = process.argv[3]
return {
configFile: false,
base: "",
...this.#baseViteConfig,
envDir: directoryDir,
plugins: [react()],
publicDir: path.resolve(__projetRoot, this.#globalConfig.folder.release),
root: directoryDir,
server: {
host: '0.0.0.0',
...this.#baseViteConfig.server,
},
resolve: {
alias: {
@@ -155,9 +157,9 @@ class ViteRunner {
async function main() {
if (process.env.npm_lifecycle_event.includes('vite')) return
const runner = new ViteRunner()
await runner.start()
runner.start()
}
main()
export default defineConfig((new ViteRunner()).config())
export default defineConfig((new ViteRunner()).config)