首页 > 解决方案 > 无法解析 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

===

我将 package.json 中的版本更改为最新版本:“react”:“16.6.1”、“react-native”:“0.57.7”、“react-viro”:“2.13.0”

提前致谢 :)

标签: javascriptreactjsreact-native

解决方案


如果您在现有的 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是关键。


推荐阅读