首页 > 解决方案 > Eslint throws warning on missing return type for getter

问题描述

I have a class:

export class Page {
   get page() {
      return $('#page');
   }

   open(path: string): void {
      browser.url(path);
      this.page.waitForDisplayed();
   }
}  

Eslint throws warning: warning Missing return type on function @typescript-eslint/explicit-module-boundary-types for getter get page(){...}.
I also have other classes like:

import { Page } from 'src/pages/page';

class ProductDetailPage extends Page {
  get skuLabel() {
    return $('#product_reference span');
  }
}

export const productDetailPage = new ProductDetailPage();  

And for this getter get skuLabel(){...} eslint doesn't throw any warnings.

Does anybody has an idea why it throws a warning only in the first case? Thanks!

标签: typescripteslint

解决方案


该规则仅检查导出函数和类的公共方法上的显式类型。

在第一个示例中,您正在导出Page类,而在第二个示例中,您正在导出ProductDetailPage. 由于您没有直接导出ProductDetailPage类,因此规则不认为它已导出,因此不会选择缺少的参数和返回类型。


推荐阅读