reactjs - TypeError: App_1.apiUrl 不是一個函數
我對於為什麼我從一個 React TypeScript 模組匯出的函數在匯入到另一個模組時會失敗感到困惑。
export const apiUrl = () : string => (process.env.NODE_ENV === 'development') ?
"https://localhost:5001" : "https://my.azure.site.net";
我知道這不是設置特定環境信息的最佳方法,但這似乎是一種方便的方法,可以快速測試 Azure 服務。
當我把 apiUrl 匯入其他模組時,我會得到 TypeError。
import { apiUrl } from './App';
console.log(apiUrl());
TypeError: App_1.apiUrl 不是一個函數。(在 'App_1.apiUrl()' 中,'App_1.apiUrl' 未定義)
而函數是未定義的。說到方便,就到此為止吧。我已經嘗試了幾種排列組合,包括導出一個常數字符串:
export const apiUrl = (process.env.NODE_ENV === 'development') ? "https://localhost:5001" : "https://my.azure.site.net";
在所有情況下,導入的對象都是 undefined。
更新:我已經確定,如果我在類的方法內使用該字串或方法,則它可以正常工作,即當我在 componentDidMount 方法中調用它時。我在這裡對作用域漏掉了什麼?