簡體   English   中英

導出默認說明 TypeScript

[英]Export default explanation TypeScript

一般來說,我對 JS、TS 和節點都很陌生。 我遇到了https://github.com/santiq/bulletproof-nodejs有一段我正在看的代碼我不明白所以我想知道是否有人可以解釋部分代碼。 這個項目有正常的 app.ts 作為入口點,在它里面導入 express 並使用加載器在https://github.com/santiq/bulletproof-nodejs/blob/master/src/loaders/express.ts設置 express

export default ({ app }: { app: express.Application }) => {

這個導出是什么,換句話說,導出 { app }: { app: express.Application } 是什么意思,為什么它們在花括號中?

它導出一個箭頭 function ,該箭頭接受一個 object 類型為express.Applicationapp程序屬性,它通過解構將app屬性提取出來。 它沒有聲明返回類型,因此要么沒有返回類型,要么依賴 TypeScript 從 function 的代碼中推斷出來(這通常很好)。 也可以這樣寫:

const fn = ({ app }: { app: express.Application }) => {
    // ...
};
export default fn;

導出是默認導出,這意味着您使用默認導出導入語法導入:

import anyNameYouLike from "./the-module";

而不是命名的導出導入語法( import { something } from... )。

這將導出一個 function ,它采用一個類型的參數:

{ app: express.Application }

稍微分解一下,讓我們將其聲明為具體類型:

type ExpressProps = { app: express.Application }

然后重新聲明 function:

export default ({ app }: ExpressProps) => {

現在......為什么參數{app}是卷曲?

這是一個參數解構,允許我們在 function 主體中使用app 如果沒有解構,我們將不得不:

export default (props: ExpressProps) => { // use props.app

暫無
暫無

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

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