我想通过获取环境变量的值来设置配置文件。
但是我因以下错误而延迟:
类型'()=>字符串[]'缺少类型'字符串[]'的以下属性:pop,push,concat,join和另外25个。
// env set
// MQTT_BROKER_TOPIC=/test/stack/overflow/kbg, /test/stack/overflow/kbg22
// interface
export interface BrokerInfo {
host: string;
port: number;
topic: string[];
};
// topic return data
const envBrokerParse = (): string[] => {
let result:string[] = [];
const envBrokerTopic: string|undefined = process.env.MQTT_BROKER_TOPIC;
if (!envBrokerTopic) { result = envBrokerTopic.split(','); }
if (result.length === 0) { result = ['/test/stack/overflow/kbg']; }
return result;
}
/**
* mqtt broker info
*/
export const mqttBrokerInfo: Array<BrokerInfo> = [
{
host: 'localhost',
port: 1883,
topic: envBrokerParse, // type error
},
];
试图将“ envBrokerParse”的返回值放在“主题”中,但是发生了错误。
我认为“ envBrokerParse”必须返回字符串[]类型。
但我不知道为什么会发生此错误。是什么原因?
答案 0 :(得分:1)
这就是你想要的
export const mqttBrokerInfo: Array<BrokerInfo> = [
{
host: 'localhost',
port: 1883,
topic: envBrokerParse(), // no type error what you want is envBrokerParse()
},
];