我试图找出为什么require('foo/bar.png')
在两个 RN 项目中的工作方式不同
在一个项目中, foo 通过 metro.config.js 注册为 root
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 吗?