Скомпилированный Typescript код Javascript не работает (variable.default.function ())

Скомпилированный Typescript код Javascript не работает (variable.default.function ())

Во-первых, ваш constructLogin() , вероятно, ошибочен, так как должен назначать Index._login .

 private constructLogin(): void { // -----/------------------ Index._index = function (req: Request, res: Response, next) { res.render("main", { "header-enabled": true, "nav-enabled": true }) const isLoggedIn: boolean = true; } } 

Если вы это исправите, проверьте, используете ли вы Index.login() прежде чем создавать экземпляр. Это потому что:

  • Index.login — это функция получения, которая возвращает Index._login
  • Index.login() вызывает результирующий Index._login , но …
  • Index._login устанавливается в constructLogin() , и …
  • constructLogin() вызывается в функции constructor()

Если вы вызываете Index.login() перед созданием экземпляра, Index._login будет undefined :

 class Index { constructor() { this.constructIndex(); this.constructLogin(); } //Private Methods: constructIndex() { Index._index = function (req, res, next) { res.render("main", { "header-enabled": true, "nav-enabled": true }); next(); }; } constructLogin() { // NOTICE: Assigns `_login` instead Index._login = function (req, res, next) { res.render("main", { "header-enabled": true, "nav-enabled": true }); const isLoggedIn = true; }; } //Public Methods: static get index() { return this._index; } static get login() { return this._login; } } console.log(Index._login); // undefined let i = new Index(); console.log(Index._login); // function 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector