无法将类型'undefined'分配给类型'string'

时间:2019-11-21 10:34:37

标签: typescript

我的代码中有类似的内容

// TODO:检查cors是否正确

const corsMiddleware = (CORS_URLs:Array<String> | string) => {
    return cors({
        origin: (origin, cb) => cb(null, CORS_URLs.includes('*') || CORS_URLs.includes(origin)),
        credentials: true
    })
}

我在哪里传递这样的参数

const corsUrls = (envVar.BASE_CONFIG_CLIENT_WEB_URL || '*')

其中envVar.BASE_CONFIG_CLIENT_WEB_URL

在上面的代码中,我得到以下错误type 'undefined' is not assignable to type 'string'

CORS_URLs.includes(origin)

我的BASE_CONFIG_CLIENT_WEB_URLS: ['http://localhost:3000']像这样

有什么主意我可以解决吗?

1 个答案:

答案 0 :(得分:0)

可能首先需要检查CORS_URLs是否具有值,因此请尝试类似的操作

const corsMiddleware = (CORS_URLs: Array < String > | string) => {
  if (CORS_URLs) {
    return cors({
      origin: (origin, cb) => cb(null, CORS_URLs.includes('*') || CORS_URLs.includes(origin)),
      credentials: true
    })
  }
}