在项目进行了一波更新后,出现了一个问题,使用 vite 作为打包工具时,项目打包报错:[vite:esbuild] The "path" argument must be of type string. Received an instance of Array. 这个报错信息表明,“path” 参数应该是字符串类型,但实际接收到的却是一个数组实例,这使得打包无法正常进行。
随后,我在网上进行搜索,发现搜索结果大多是针对另外一个相似报错的文章,即 # The “path” argument must be of type string. Received type undefined. 而对于这个报错所给出的解决办法多种多样,有的观点认为是 npm 包与 node 版本不兼容,也有的指出是打包工具配置出现错误。我尝试了其中几种方法,然而都未能解决我所遇到的问题。
于是,我决定自行排查问题,首先从 vite 配置入手,采用排除法逐一检查,但是一番排查下来,并未发现异常之处。
接着,我又将排查方向转向 eslint、ts 等的配置,经过仔细查找,终于在 ts 配置里找到了问题根源。原来是有一处 "extends" 在不知何时被改成了数组形式,这显然不符合要求,导致了报错。找到问题后,我及时进行修改,最终项目得以顺利打包。