You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中访问assets文件夹文件的路径问题

解决React Native中加载assets目录下glb文件的问题
  • 先修正import语法错误:你写的import newModel as ./assets/model.glb是错误的,正确的静态资源导入语法应该用from,不需要重命名的话直接写:

    import newModel from './assets/model.glb';
    

    要是需要重命名才用as,比如:

    import { default as newModel } from './assets/model.glb';
    
  • 核对相对路径是否正确:

    • 如果Model.js和assets文件夹不在同一层级(比如Model.js在src/components下,assets在项目根目录),路径要写成../../assets/model.glb
    • 确保路径里的文件名、文件夹名大小写和实际文件完全一致,React Native对文件名大小写敏感,Model.glb和model.glb会被识别成不同文件
  • 配置Metro打包器支持glb格式:
    React Native默认的Metro配置不包含glb作为可打包的资源后缀,需要修改项目根目录的metro.config.js:

    const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
    
    const customConfig = {
      resolver: {
        assetExts: [...getDefaultConfig(__dirname).resolver.assetExts, 'glb'],
      },
    };
    
    module.exports = mergeConfig(getDefaultConfig(__dirname), customConfig);
    
  • 尝试用require替代import:
    部分场景下用require加载静态资源更稳定,写法如下:

    const newModel = require('./assets/model.glb');
    
  • 最后确认文件存在:检查assets目录下确实有model.glb文件,没有拼写错误或者路径层级错误

内容的提问来源于stack exchange,提问作者Ahmed Malik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:09:35