JS で記述された ExpressJS アプリケーション用の autoLoad スクリプトがあり、現在 TypeScript に移行中です。
export const loadModels = () => {
glob('modules/*/**.model.js', (err, files) => {
if (!err) {
files.forEach((filePath) => {
require(path.resolve(filePath));
});
}
});
};
export const loadRoutes = (app: express.Application) => {
glob('modules/*/**.routes.js', (err, files) => {
if (!err) {
files.forEach((filePath) => {
require(path.resolve(filePath))(app);
});
}
});
};
どのように変更require(path.resolve(filePath));
しrequire(path.resolve(filePath))(app);
、import
ステートメントにするには?
これはサンプルルートファイルです
import config from './../../config';
import express from 'express';
import QuestionCtrl from './question.controller';
import { EventEmitter } from 'events';
export default (app: express.Application, events: EventEmitter) => {
const questionCtrl = new QuestionCtrl(events);
app.route(`${config.app.apiBase}/questions`).post(questionCtrl.create);
};