类型错误:path.startsWith 不是函数

Posted

技术标签:

【中文标题】类型错误:path.startsWith 不是函数【英文标题】:TypeError: path.startsWith is not a function 【发布时间】:2022-01-09 18:00:38 【问题描述】:

我的功能:

export const getStrapiUrl = (path): string => 
  if (path == null) 
    return "";
  
  console.log(path);
  return `$
    path.startsWith("/", 1) ? process.env.NEXT_PUBLIC_STRAPI_API_URL : ""
  $path`;
;

来自控制台的错误消息:

网址:'/uploads/work_with_74e76d4826.png'

error - utils\get-strapi-url.ts (7:9) @ getStrapiUrl
TypeError: path.startsWith is not a function
   5 |   console.log(path);
   6 |   return `$
>  7 |     path.startsWith("/", 1) ? process.env.NEXT_PUBLIC_STRAPI_API_URL : ""
     |         ^
   8 |   $path`;
   9 | ;
  10 | 

【问题讨论】:

1. path 是什么? 2.如果是字符串,你用的是an environment that supports startsWith吗?不过,path 很可能不是字符串。 我会假设您的问题中的 url: '/uploads/work_with_74e76d4826.png' 记录了什么?如果是这样,那么您可能想要path.url.startsWith ... 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:

根据输出 url: '/uploads/work_with_74e76d4826.png' path 不是字符串,而是对象。但是,您可以提取其中的 url 部分:

return `$
  path.url.startsWith("/", 1) ? process.env.NEXT_PUBLIC_STRAPI_API_URL : ""
$path.url`;

【讨论】:

以上是关于类型错误:path.startsWith 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

类型错误:opendirSync 不是函数

错误类型错误:_co.deleteConsulta 不是函数

类型错误:hbs 不是函数

类型错误:window.initMap 不是函数

类型错误:require.requireActual 不是函数

类型错误:MOD.hasPermissions 不是函数