feat(directory): update routers
This commit is contained in:
@@ -8,27 +8,12 @@ import {
|
|||||||
} from "react-router-dom";
|
} from "react-router-dom";
|
||||||
import Root from "@/routes/root";
|
import Root from "@/routes/root";
|
||||||
import ErrorPage from "@/routes/error-page";
|
import ErrorPage from "@/routes/error-page";
|
||||||
import Index from "@/routes/index";
|
import routes from "@/routes";
|
||||||
import Operator from "@/routes/operator";
|
|
||||||
import '@/App.css';
|
import '@/App.css';
|
||||||
import 'reset-css';
|
import 'reset-css';
|
||||||
|
|
||||||
document.title = import.meta.env.VITE_APP_TITLE;
|
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(
|
const router = createBrowserRouter(
|
||||||
createRoutesFromElements(
|
createRoutesFromElements(
|
||||||
<Route
|
<Route
|
||||||
|
|||||||
@@ -1,24 +1,16 @@
|
|||||||
import {
|
import Home from "@/routes/path/home";
|
||||||
useState,
|
import Operator from "@/routes/path/operator";
|
||||||
useEffect
|
|
||||||
} from 'react'
|
|
||||||
import './index.css'
|
|
||||||
|
|
||||||
export default function Index(props) {
|
export default [
|
||||||
useEffect(() => {
|
{
|
||||||
fetch("/_assets/directory.json").then(res => res.json()).then(data => {
|
path: "",
|
||||||
console.log(data)
|
index: true,
|
||||||
})
|
name: "Home",
|
||||||
}, [])
|
element: <Home />
|
||||||
|
}, {
|
||||||
return (
|
path: "operator/:key",
|
||||||
<section>
|
index: false,
|
||||||
<section>
|
name: "Operator",
|
||||||
1233
|
element: <Operator />
|
||||||
</section>
|
}
|
||||||
<section>
|
]
|
||||||
22s
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
24
directory/src/routes/path/home.jsx
Normal file
24
directory/src/routes/path/home.jsx
Normal 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>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -22,13 +22,13 @@ class ViteRunner {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
config() {
|
get config() {
|
||||||
let result;
|
let result;
|
||||||
const temp = process.env.npm_lifecycle_event.split(':')
|
const temp = process.env.npm_lifecycle_event.split(':')
|
||||||
this.#mode = temp[0] === "vite" ? temp[1] : process.argv[2]
|
this.#mode = temp[0] === "vite" ? temp[1] : process.argv[2]
|
||||||
switch (this.#mode) {
|
switch (this.#mode) {
|
||||||
case 'directory':
|
case 'directory':
|
||||||
result = this.directory()
|
result = this.#directoryConfig
|
||||||
const op = temp[2] || process.argv[3]
|
const op = temp[2] || process.argv[3]
|
||||||
if (op !== 'preview') {
|
if (op !== 'preview') {
|
||||||
rmdir(path.resolve(__projetRoot, this.#globalConfig.folder.release, "_directory"))
|
rmdir(path.resolve(__projetRoot, this.#globalConfig.folder.release, "_directory"))
|
||||||
@@ -39,7 +39,7 @@ class ViteRunner {
|
|||||||
case 'build':
|
case 'build':
|
||||||
case 'build-all':
|
case 'build-all':
|
||||||
case 'preview':
|
case 'preview':
|
||||||
result = this.operator()
|
result = this.#operatorConfig
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
return
|
return
|
||||||
@@ -47,8 +47,8 @@ class ViteRunner {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
async start() {
|
start() {
|
||||||
const viteConfig = this.config();
|
const viteConfig = this.config;
|
||||||
switch (this.#mode) {
|
switch (this.#mode) {
|
||||||
case 'dev':
|
case 'dev':
|
||||||
this.#dev(viteConfig)
|
this.#dev(viteConfig)
|
||||||
@@ -96,7 +96,7 @@ class ViteRunner {
|
|||||||
})()
|
})()
|
||||||
}
|
}
|
||||||
|
|
||||||
operator() {
|
get #operatorConfig() {
|
||||||
const operatorName = process.env.O || process.argv[3]
|
const operatorName = process.env.O || process.argv[3]
|
||||||
assert(operatorName, 'Please set the operator name by using environment variable O.')
|
assert(operatorName, 'Please set the operator name by using environment variable O.')
|
||||||
return {
|
return {
|
||||||
@@ -104,6 +104,9 @@ class ViteRunner {
|
|||||||
envDir: path.join(__projetRoot, this.#globalConfig.folder.operator, operatorName),
|
envDir: path.join(__projetRoot, this.#globalConfig.folder.operator, operatorName),
|
||||||
publicDir: path.resolve(__projetRoot, this.#globalConfig.folder.release, operatorName),
|
publicDir: path.resolve(__projetRoot, this.#globalConfig.folder.release, operatorName),
|
||||||
root: path.resolve(__projetRoot),
|
root: path.resolve(__projetRoot),
|
||||||
|
server: {
|
||||||
|
...this.#baseViteConfig.server,
|
||||||
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': path.resolve(__projetRoot, './src'),
|
'@': path.resolve(__projetRoot, './src'),
|
||||||
@@ -118,18 +121,17 @@ class ViteRunner {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
directory() {
|
get #directoryConfig() {
|
||||||
const directoryDir = path.resolve(__projetRoot, 'directory')
|
const directoryDir = path.resolve(__projetRoot, 'directory')
|
||||||
this.#mode = process.argv[3]
|
this.#mode = process.argv[3]
|
||||||
return {
|
return {
|
||||||
configFile: false,
|
...this.#baseViteConfig,
|
||||||
base: "",
|
|
||||||
envDir: directoryDir,
|
envDir: directoryDir,
|
||||||
plugins: [react()],
|
plugins: [react()],
|
||||||
publicDir: path.resolve(__projetRoot, this.#globalConfig.folder.release),
|
publicDir: path.resolve(__projetRoot, this.#globalConfig.folder.release),
|
||||||
root: directoryDir,
|
root: directoryDir,
|
||||||
server: {
|
server: {
|
||||||
host: '0.0.0.0',
|
...this.#baseViteConfig.server,
|
||||||
},
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
@@ -155,9 +157,9 @@ class ViteRunner {
|
|||||||
async function main() {
|
async function main() {
|
||||||
if (process.env.npm_lifecycle_event.includes('vite')) return
|
if (process.env.npm_lifecycle_event.includes('vite')) return
|
||||||
const runner = new ViteRunner()
|
const runner = new ViteRunner()
|
||||||
await runner.start()
|
runner.start()
|
||||||
}
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
|
||||||
export default defineConfig((new ViteRunner()).config())
|
export default defineConfig((new ViteRunner()).config)
|
||||||
Reference in New Issue
Block a user