커밋4. 포털 실행 방법 ts-node로 시작하게 변화: 실행 속도 향상
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
"npm": "6.14.7"
|
"npm": "6.14.7"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "ts-node --transpile-only --project tsconfig.server.json server/index.ts",
|
||||||
"dev:sm": "SITE_ID=3 npm run dev",
|
"dev:sm": "SITE_ID=3 npm run dev",
|
||||||
"dev:lg": "SITE_ID=2 npm run dev",
|
"dev:lg": "SITE_ID=2 npm run dev",
|
||||||
"dev:smWin": "set SITE_ID=3&&npm run dev",
|
"dev:smWin": "set SITE_ID=3&&npm run dev",
|
||||||
|
|||||||
30
frontend/portal/server/index.ts
Normal file
30
frontend/portal/server/index.ts
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
import { loadEnvConfig } from '@next/env'
|
||||||
|
import express, { Request, Response } from 'express'
|
||||||
|
import next from 'next'
|
||||||
|
loadEnvConfig('./', process.env.NODE_ENV !== 'production')
|
||||||
|
|
||||||
|
const port = process.env.PORT || 3000
|
||||||
|
const dev = process.env.NODE_ENV !== 'production'
|
||||||
|
const app = next({ dev })
|
||||||
|
const handle = app.getRequestHandler()
|
||||||
|
|
||||||
|
const startServer = async () => {
|
||||||
|
try {
|
||||||
|
await app.prepare()
|
||||||
|
const server = express()
|
||||||
|
|
||||||
|
server.all('*', (req: Request, res: Response) => {
|
||||||
|
return handle(req, res)
|
||||||
|
})
|
||||||
|
|
||||||
|
server.listen(port, (err?: any) => {
|
||||||
|
if (err) throw err
|
||||||
|
console.log(`> Ready on localhost:${port} - env ${process.env.NODE_ENV}`)
|
||||||
|
})
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
startServer()
|
||||||
9
frontend/portal/tsconfig.server.json
Normal file
9
frontend/portal/tsconfig.server.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json", // 기본설정을 포함한다
|
||||||
|
"compilerOptions": {
|
||||||
|
"module": "commonjs", // commonJs 사용하도록 override
|
||||||
|
"outDir": "dist", // 빌드 파일 경로 (production mode)
|
||||||
|
"noEmit": false // 서버에 대한 결과 파일을 내보내지 않음 (production mode)
|
||||||
|
},
|
||||||
|
"include": ["server"] // server/ 디렉토리 아래에 있는 파일만 컴파일 (production mode)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user