11// @ts -check
2- const fs = require ( 'fs' )
3- const path = require ( 'path' )
4- const express = require ( 'express' )
2+ import fs from 'fs'
3+ import path from 'path'
4+ import { fileURLToPath } from 'url'
5+ import express from 'express'
56
67const isTest = process . env . NODE_ENV === 'test' || ! ! process . env . VITE_TEST_BUILD
78
8- async function createServer (
9+ export async function createServer (
910 root = process . cwd ( ) ,
1011 isProd = process . env . NODE_ENV === 'production' ,
1112 hmrPort
1213) {
14+ const __dirname = path . dirname ( fileURLToPath ( import . meta. url ) )
1315 const resolve = ( p ) => path . resolve ( __dirname , p )
1416
1517 const indexProd = isProd
@@ -18,7 +20,7 @@ async function createServer(
1820
1921 const manifest = isProd
2022 ? // @ts -ignore
21- require ( './dist/client/ssr-manifest.json' )
23+ ( await import ( './dist/client/ssr-manifest.json' ) ) . default
2224 : { }
2325
2426 const app = express ( )
@@ -28,7 +30,9 @@ async function createServer(
2830 */
2931 let vite
3032 if ( ! isProd ) {
31- vite = await require ( 'vite' ) . createServer ( {
33+ vite = await (
34+ await import ( 'vite' )
35+ ) . createServer ( {
3236 base : '/test/' ,
3337 root,
3438 logLevel : isTest ? 'error' : 'info' ,
@@ -48,10 +52,10 @@ async function createServer(
4852 // use vite's connect instance as middleware
4953 app . use ( vite . middlewares )
5054 } else {
51- app . use ( require ( 'compression' ) ( ) )
55+ app . use ( ( await import ( 'compression' ) ) . default ( ) )
5256 app . use (
5357 '/test/' ,
54- require ( 'serve-static' ) ( resolve ( 'dist/client' ) , {
58+ ( await import ( 'serve-static' ) ) . default ( resolve ( 'dist/client' ) , {
5559 index : false
5660 } )
5761 )
@@ -70,7 +74,7 @@ async function createServer(
7074 } else {
7175 template = indexProd
7276 // @ts -ignore
73- render = require ( './dist/server/entry-server.js' ) . render
77+ render = ( await import ( './dist/server/entry-server.js' ) ) . render
7478 }
7579
7680 const [ appHtml , preloadLinks ] = await render ( url , manifest )
@@ -97,6 +101,3 @@ if (!isTest) {
97101 } )
98102 )
99103}
100-
101- // for test use
102- exports . createServer = createServer
0 commit comments