1
我在流類型的目錄中一些常見的類型聲明就像一個文件:eslint-插件導入如何增加流量聲明模塊異常
共types.js
// @flow
declare module 'common-types' {
declare export type RequestState = {
setLoading:() => void,
setFinished:() => void,
setError: (error: AxiosFailure) => void,
reset:() => void,
status: LoadingStatus,
error: AxiosFailure | void,
};
declare export type LoadingStatus = '' | 'loading' | 'finished';
declare export type ErrorObject = { [key: string]: string | string[] | Error };
declare export type AxiosFailure = {
status: number,
data: ErrorObject,
}
}
現在,我將其導入這樣的文件:
import type { RequestState } from 'common-types';
,但我得到eslint-插件導入錯誤約丟失的文件擴展名以及無法解決路徑到模塊的'常見類型'
我該如何處理它?
'common-types'實際上是一個npm模塊嗎?似乎將它變成本地文件會更容易,如果你實際上沒有聲明真正的npm模塊的類型,那麼執行'./ common-types'。 – loganfsmyth
它不是一個模塊。我想避免像'../../../../../ common-types'那樣長時間導入。如果我製作webpack別名,那麼流再次顯示關於未找到模塊的錯誤。 – Tomasz
通常,如果你不得不這樣做,這表明你的文件結構不是很好的考慮因素。你的類型應該只傳遞你的代碼和你的數據,所以如果你導出一個返回類型的函數,那麼也要從那個模塊中重新導出類型。如果你導入一個返回類型的函數,你可以從同一個模塊導入類型。 – loganfsmyth