mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-01-14 06:43:25 +08:00
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import express, { NextFunction, Request, Response } from 'express';
|
|
import { createServer as createViteServer } from 'vite';
|
|
// import { getBuildConfig } from './build';
|
|
|
|
const cors = (req: Request, res: Response, next: NextFunction) => {
|
|
res.header('Access-Control-Allow-Origin', '*');
|
|
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
|
|
res.header('Access-Control-Allow-Headers', 'Content-Type');
|
|
|
|
next();
|
|
};
|
|
|
|
async function createServer() {
|
|
const app = express();
|
|
|
|
// Create Vite server in middleware mode
|
|
const vite = await createViteServer({
|
|
configFile: './vite.config.ts',
|
|
server: { middlewareMode: true },
|
|
appType: 'custom', // don't include Vite's default HTML handling middlewares
|
|
});
|
|
|
|
app.use(cors);
|
|
app.use(express.static('./packages/mermaid/dist'));
|
|
app.use(express.static('./packages/mermaid-example-diagram/dist'));
|
|
app.use(express.static('./packages/mermaid-mindmap/dist'));
|
|
app.use(vite.middlewares);
|
|
app.use(express.static('demos'));
|
|
app.use(express.static('cypress/platform'));
|
|
|
|
app.listen(9000, () => {
|
|
console.log(`Listening on http://localhost:9000`);
|
|
});
|
|
}
|
|
|
|
// build(getBuildConfig({ minify: false, watch: true }));
|
|
createServer();
|