运行Moralis NFT生成代码报错ENOENT No such file or directory 'undefined'
问题根因
你的报错本质是canvas库加载图片时传入的路径参数为undefined,系统找不到对应路径的文件才触发了ENOENT报错,和npm依赖、canvas安装本身无关。
排查步骤
- 先核对图层配置:打开你修改过的配置文件(一般是
config.js),检查你填写的所有图层文件夹的名称、路径是否和你本地项目里的文件夹完全一致,Windows系统下注意路径不要写错大小写、不要多写空格,相对路径的层级也要对应正确。 - 检查DNA异常:从报错日志里能看到生成的DNA为
01--02-04-02-01-010-03-03-04,存在两个连续的短横线,说明你配置的某一个图层没有匹配到有效的可选素材,导致这个位置的图层取值为空,最终拼接出来的图片路径变成了undefined。你可以对应你配置的图层顺序,定位到空值对应的图层,检查该图层文件夹下是否有符合命名规则的素材、稀有度配置是否正确。 - 检查素材命名:确认所有图层素材的命名都符合仓库要求的格式,如果素材名需要带稀有度权重后缀,不要写错格式,也不要用中文、特殊字符命名文件或文件夹。
- 加日志精准定位:打开项目根目录的
index.js,找到loadLayerImg函数,在调用loadImage之前新增一行代码console.log(layer),重新运行node index.js,控制台会输出当前加载的图层的所有信息,你可以直接看到是哪个图层的path属性为undefined,直接定位到错误位置。
内容的提问来源于stack exchange,提问作者Eli_StayFocused
相关产品推荐
相关产品推荐

