32 lines
863 B
JavaScript
32 lines
863 B
JavaScript
import { fastify } from 'fastify'
|
|
import { mongoose } from 'mongoose'
|
|
import { generateToken } from './generator.js'
|
|
import { registerModels } from './models/index.js';
|
|
import * as Hooks from './hooks.js'
|
|
|
|
export const server = fastify({
|
|
logger: {
|
|
prettyPrint: true
|
|
}
|
|
})
|
|
|
|
//export const logger = server.log
|
|
|
|
;(async () => {
|
|
const { config } = await import('./config.js')
|
|
|
|
server.decorate('config', config)
|
|
|
|
const mongooseClient = await mongoose.connect(config.database.url)
|
|
const models = registerModels(mongooseClient)
|
|
|
|
server.decorate('mongoose', mongooseClient)
|
|
server.decorate('models', models)
|
|
|
|
server.addHook('preHandler', Hooks.headerValidation)
|
|
|
|
|
|
await server.listen(config.server.port, config.server.url)
|
|
|
|
server.log.info("老色批世界树 > 基于 fastify 的高性能 HTTP 服务器已启动")
|
|
})() |