javascript - 无法解析 react-viro 中的模块
问题描述
我正在尝试运行此应用程序,但出现以下错误! https://github.com/vnovick/pile-blocks-ar
我从这里检查了正确的资产导入说明https://docs.viromedia.com/docs/importing-assets 一切似乎都是合法的,但我一直收到错误消息!
===
错误:捆绑失败:错误:无法从 中解析模块:无法./res/tetris/blocks_1.vrx
从中找到/Users/###/pile-blocks-ar-master/js/GameSceneAR.js
模块。事实上,这些文件都不存在:./res/tetris/blocks_1.vrx
/Users/###/pile-blocks-ar-master/js/GameSceneAR.js
- `/Users/###/pile-blocks-ar-master/js/res/tetris/blocks_1.vrx ...
===
我将 package.json 中的版本更改为最新版本:“react”:“16.6.1”、“react-native”:“0.57.7”、“react-viro”:“2.13.0”
提前致谢 :)
解决方案
如果您在现有的 React-Native 应用程序(不是使用 Viro CLI 创建的)中导入了 ViroAR,则需要手动添加资产支持。
这是指南: https ://docs.viromedia.com/docs/importing-assets
如果您使用的是 RN > 0.59,那么您应该放弃 viro 指令并修改metro.config.js
文件(位于项目根目录中)看起来像这样:
/**
* Metro configuration for React Native
* https://github.com/facebook/react-native
*
* @format
*/
module.exports = {
resolver: {
assetExts: [
'obj',
'mtl',
'JPG',
'vrx',
'hdr',
'gltf',
'glb',
'bin',
'arobject',
'png',
],
},
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
};
resolver.assetExts
是关键。