首页 > 解决方案 > 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”未定义)

并且功能未定义。为了方便起见。我尝试了几种排列方式,包括导出 const 字符串:

export const apiUrl = (process.env.NODE_ENV === 'development') ? "https://localhost:5001" : "https://my.azure.site.net";

在所有情况下,导入的对象都是undefined.

更新:我已经确定,如果我在类方法中使用字符串或方法,那么它会起作用,即当我在componentDidMount方法中调用它时。我在这里缺少关于范围的什么?

标签: reactjstypescript

解决方案


推荐阅读