首页 > 解决方案 > 您可以在将其导出为 typescript/angular 之前创建一个类吗?| TSLint:未使用的表达式,期望赋值或函数调用

问题描述

我来自 react 世界——我非常熟悉通过 an 启动应用程序的基本概念,index.js而不必处理任何 html 或任何东西。在那些定义视图的 javascript 文件中,它们都可以通过import和相互使用export,这export default意味着默认导入将是该对象,并且只export允许从同一个文件导入多个对象。

综上所述,角度上的一切都不同吗?

当我尝试学习它时,我尝试做一些简单的事情并创建一个日志类,它必须足够简单,对吧。所以它看起来像这样,这就是我在 React 中的编写方式:

import {Injectable} from '@angular/core';

@Injectable()
class LoggerService {
  info(msg: any) {
    console.log(msg);
  }

  warn(msg: any) {
    console.warn(msg);
  }

  error(msg: any) {
    console.error(msg);
  }
}

export LoggerService;

但是,当我这样做时,我的 TSLint 会启动并警告我

TSLint:未使用的表达式,需要赋值或函数调用...

在最后一行。我不能在导出之前创建类吗?

我知道我看到的每个教程都包含导出类中的所有内容,这是我不习惯的(这就是我尝试以另一种方式做的原因),但如果这只是 Angular 的最佳实践,那就这样吧。

TLDR 为什么我在上面的代码中出现错误

标签: angulartypescripttslint

解决方案


这不是关于框架,而是关于 TypeScript 与 JavaScript。我猜你在使用 React 时使用过 JavaScript 模块。在 Typescript 中,语法有点不同。在打字稿中写下你想要的东西......

class LoggerService {
 // ...
}
export { LoggerService };

您可以阅读有关TypeScript 模块的更多信息。


推荐阅读