最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

React Native中的require()分辨率

IT培训 admin 4浏览 0评论

React Native中的require()分辨率

我试图找出为什么require('foo/bar.png')在两个RN项目中的工作方式不同

在一个项目中,foo通过metro.config.js注册为根用户

  extraNodeModules: {
    foo: path.join(__dirname, 'src/foo'),
  }

在另一个项目中,foo位于app_root / node_modules下

so foo is at app_root/node_modules/foo

因此,在两个项目中,我都可以执行import something from 'foo/something'

但是关于require,两个项目的行为有所不同。


foo/components/hello.js中有一行

 require('foo/assets/image.png')

在第一个项目中,正确找到了图像文件,

但是第二个项目抱怨找不到错误/path/to/root_project/node_modules/foo/component/node_modules/foo/assets/image.png

似乎require假定调用require的位置应该是项目根目录或其他名称。

我应该在哪里寻找或如何调试它?

我可以在ReactNative项目中打印module.paths吗?

回答如下:

两个项目的路径是否相同?如果在第一个项目require()中工作,那么它应该在第二个项目中工作,一个不起作用的原因是,在第二个项目中您的路径不正确。因此,请再次检查。

React Native中的require()分辨率

我试图找出为什么require('foo/bar.png')在两个RN项目中的工作方式不同

在一个项目中,foo通过metro.config.js注册为根用户

  extraNodeModules: {
    foo: path.join(__dirname, 'src/foo'),
  }

在另一个项目中,foo位于app_root / node_modules下

so foo is at app_root/node_modules/foo

因此,在两个项目中,我都可以执行import something from 'foo/something'

但是关于require,两个项目的行为有所不同。


foo/components/hello.js中有一行

 require('foo/assets/image.png')

在第一个项目中,正确找到了图像文件,

但是第二个项目抱怨找不到错误/path/to/root_project/node_modules/foo/component/node_modules/foo/assets/image.png

似乎require假定调用require的位置应该是项目根目录或其他名称。

我应该在哪里寻找或如何调试它?

我可以在ReactNative项目中打印module.paths吗?

回答如下:

两个项目的路径是否相同?如果在第一个项目require()中工作,那么它应该在第二个项目中工作,一个不起作用的原因是,在第二个项目中您的路径不正确。因此,请再次检查。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论