npm install -g gltf-pipeline后文件为空,怎么回事?
项目为:Vue3
+ Three.js
参考 👉 vue3 Three.js实现Draco压缩模型和加载模型 这个做的,目的是实现 Draco
压缩模型和加载模型。
npm install -g gltf-pipeline
安装后显示 change 62 packages in 4s
。没有报错,但是文件是空的,啥也没有安装到。更不用说后面还得 gltf-pipeline -i test.glb -o test-pipeline.glb -d
了,这是怎么回事?
更新:
在 package.json
中增 script
中加了脚本:
{
"script": {
"pipeline-d": "gltf-pipeline -i test.glb -o test-pipeline.glb -d"
}
}
但是执行后提示 errno: -4058
D:\vue+three\yasuo> gltf-pipeline -i test.glb -o test-pipeline.glb -d
[Error: ENOENT: no such file or directory, open 'D:\Projects\vue+three\yasuo\test.glb'] {
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path: 'D:\Projects\vue+three\yasuo\test.glb'
}
回复
1个回答
test
2024-07-01
因为你 npm install
的时候增加了 -g
这个标识呀,所以是安装到全局的。那么你在本地项目中是看不到的安装了这个依赖项的。但是你执行后续的 gltf-pipeline -i test.glb -o test-pipeline.glb -d
是没问题的,因为你全局环境下是有 gltf-pipeline
这个工具的(如果你本地的环境配置没有错误的话)。
如果说你想是想安装到项目内的,可以去掉 -g
这个命令,直接使用 npm i gltf-pipeline
这个命令把依赖项安装到项目内。
EDIT
😱 不是,你别直接照搬照抄啊,稍微想一想也知道不对呀……我贴的那个问答,问的是 electron
你这个是 gltf-pipeline
啊!
{
"script": {
"pipeline-d": "gltf-pipeline -i test.glb -o test-pipeline.glb -d"
}
}
然后 npm run pipeline-d
就可以,麻烦稍微理解一下原理和思路呀……
最后,我觉得你转换的过程中会有其他的问题,大概率就是你转换模型的时候模型文件路径的问题了,这个自己稍微改写一下 pipeline-d
这个脚本就好了。
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容