我认为自己对nodeJs足够称职.我最近决定通过开始使用Typescript来改变我的应用程序.我最近看到许多博客(like this one),在创建RESTful API时,它们包装了所有模块,并且最重要的是在一个类中包含应用程序的入口点.它是正确的还是我可以像往常一样继续用打字稿开发我的应用程序?
最佳答案
这是一种风格而不是其他任何问题.但Express不会为其单位推广OOP,并且将应用程序定义为类没有明显的好处:
class App {
public app: express.Application;
constructor() {
this.app = express();
this.config();
}
private config(): void{
// support application/json type post data
this.app.use(bodyParser.json());
//support application/x-www-form-urlencoded post data
this.app.use(bodyParser.urlencoded({ extended: false }));
}
}
export default new App().app;
应用程序是一个不应该被重用的单例.它没有提供类可重用性或可测试性等已知类的任何好处.这是不必要的复杂版本:
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
export default app;