PixiJS 7中PIXI.Assets.load加载JSON报错问题求助
解决PIXI.Assets.load在Vite 4.0中的加载错误
第一个错误:TypeError: Cannot read properties of undefined (reading 'split')
- 错误原因是传入
PIXI.Assets.load()的json变量未定义,该方法要求传入有效的资源路径字符串或配置对象。 - 解决方式:确保传入正确的资源路径,示例代码:
// 定义正确路径后传入 const fighterJsonPath = '/assets/fighter.json'; const atlas = await PIXI.Assets.load(fighterJsonPath);
第二个错误:SyntaxError: Unexpected end of JSON input
该错误表示加载的内容不是有效JSON,以下是常见排查和解决步骤:
- 资源路径适配Vite规则:
Vite默认将public目录作为静态资源根目录,若你的fighter.json放在src/assets下,直接用/assets/fighter.json会找不到,需通过导入获取正确路径:
或者将import fighterJson from './assets/fighter.json?url'; const atlas = await PIXI.Assets.load(fighterJson);fighter.json移动到项目根目录的public/assets文件夹,此时/assets/fighter.json可直接访问。 - 检查JSON文件完整性:
打开fighter.json确认内容无语法错误(如缺失括号、逗号),也可在浏览器访问http://localhost:5173/assets/fighter.json,查看返回内容:若显示404或HTML,说明路径错误;若JSON内容有语法问题,直接修正文件。 - 适配特殊JSON格式(如含注释):
若JSON包含注释,Vite默认解析不支持,需在vite.config.js中配置:export default { json: { namedExports: true, stringify: false, }, };
内容的提问来源于stack exchange,提问作者Artem
相关产品推荐
相关产品推荐

