簡體   English   中英

你能在用 typescript/angular 導出它之前創建一個 class 嗎? | TSLint:未使用的表達式,需要賦值或 function 調用

[英]Can you create a class before exporting it in typescript/angular? | TSLint: unused expression, expected an assignment or function call

我來自反應世界 - 我非常熟悉通過index.js啟動應用程序的基本概念,而不必處理任何 html 或任何東西。 在那些定義視圖的 javascript 文件中,它們都通過importexport彼此可用,其中export default意味着默認導入將是 object,而僅export允許從同一文件導入多個對象的可能性。

綜上所述,angular 中的一切都不同嗎?

在我嘗試學習它的同時,我嘗試做一些簡單的事情並創建一個日志記錄 class,這必須足夠簡單,對吧。 所以它看起來像這樣,這就是我在 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:未使用的表達式,需要賦值或 function 調用...

在最后一行。 我不能在導出之前創建類嗎?

我知道我看到的每個教程都包含導出 class 中的所有內容,我不習慣(這就是我嘗試以其他方式進行操作的原因)但如果這只是 Angular 最佳實踐,那就這樣吧。

TLDR 為什么我在上面的代碼中出錯

這與框架無關,而是關於 TypeScript 與 JavaScript。我猜你在使用 React 時使用過 JavaScript 模塊。 在 Typescript 中語法有點不同。 在typescript中寫下你想要的...

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

您可以閱讀有關TypeScript 模塊的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM