This commit is contained in:
Jerry 2025-04-05 01:20:04 +08:00
parent 8096228d96
commit 55de8a14bb
3 changed files with 39 additions and 10 deletions

View File

@ -9,7 +9,8 @@
"dependencies": { "dependencies": {
"chalk": "4", "chalk": "4",
"dotenv": "^16.0.0", "dotenv": "^16.0.0",
"express": "^4.18.0" "express": "^4.18.0",
"mkdirp": "^3.0.1"
}, },
"devDependencies": { "devDependencies": {
"@types/express": "^4.17.0", "@types/express": "^4.17.0",

3
pnpm-lock.yaml generated
View File

@ -17,6 +17,9 @@ importers:
express: express:
specifier: ^4.18.0 specifier: ^4.18.0
version: 4.21.2 version: 4.21.2
mkdirp:
specifier: ^3.0.1
version: 3.0.1
devDependencies: devDependencies:
'@types/express': '@types/express':
specifier: ^4.17.0 specifier: ^4.17.0

View File

@ -1,23 +1,48 @@
import express from 'express'; import express from 'express';
import logger from './utils/logger'; import logger from './utils/logger';
import fc from './utils/file';
import paths from './utils/path'; import paths from './utils/path';
import sampleController from './modules/sample/sample.controller'; import sampleController from './modules/sample/sample.controller';
import imageController from './modules/image/image.controller'; import imageController from './modules/image/image.controller';
import config from './utils/config';
import fc from './utils/file';
const apps = { const apps = {
createApp() { createApp() {
const app = express(); const app = express();
logger.info('晶灵核心初始化..');
app.use(express.json()); app.use(express.json());
app.use('/public', express.static(paths.get('public'))); logger.debug('成功加载express.json()中间件');
logger.debug(`路由/public挂载成功..`);
app.use('/api/sample', sampleController.getRouter()); const publicPath = paths.get('public');
logger.debug(`路由/api/sample挂载成功..`); app.use('/public', express.static(publicPath));
app.use('/images', imageController.getRouter()); logger.debug(`静态资源路由挂载:/public → ${publicPath}`);
logger.debug(`路由/images挂载成功..`);
fc.createDir(paths.get('log')); const modules = [
logger.info('晶灵核心初始化成功!'); { path: '/api/sample', name: '测试模块', controller: sampleController },
{ path: '/images', name: '图像模块', controller: imageController },
];
modules.forEach((module) => {
app.use(module.path, module.controller.getRouter());
logger.debug(`模块路由挂载: ${module.path.padEnd(12)}${module.name}`);
if (config.get('DEBUG', false)) {
module.controller.getRouter().stack.forEach((layer) => {
if (layer.route) {
const methods = Object.keys(layer.route)
.map((m) => m.toUpperCase())
.join(',');
logger.debug(`${methods.padEnd(6)} ${module.path}${layer.route.path}`);
}
});
}
});
const logPath = paths.get('log');
fc.createDir(logPath);
logger.debug(`日志目录初始化: ${logPath}`);
logger.info('晶灵核心初始化完毕!');
return app; return app;
}, },
}; };