我的图像在
下面Files.list(Paths.get("yourPath")).filter(path->Files.isRegularFile(path) && path.toString().endsWith(".jpg")).collect(Collectors.toList());
如果我在List<Path> paths = new ArrayList<>();
Path start = Paths.get("yourPath");
try {
Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path filePath, BasicFileAttributes attrs) throws IOException {
if (filePath.toString().endsWith(".jpg")) {
paths.add(filePath);
}
return FileVisitResult.CONTINUE;
}
});
} catch (IOException e) {
e.printStackTrace();
}
下有一个组件,它就无法使用/app/assets/images/logo/logo.png
因为它说&#34;模块未找到[..]&#34;
但是,如果我将图片放在与/app/components/headerbar/headerbar.js
文件相同的文件夹下并将路径更改为<Image source={require('./app/assets/images/logo/logo.png')} style={styles.logo} />
,那么它可以正常工作。将路径设置为headerbar.js
也不起作用。
我是否必须将静态图像放在与RN组件相同的文件夹下?
答案 0 :(得分:2)
您必须像这样引用文件:require('../../ assets / images / logo / logo.png')
或者在您的应用根目录中放置一个js文件并在那里引用您的资源,将它们导出为consts:
export const LOGO = require('./assets/images/logo/logo.png');
然后你可以简单地导入const并写
<Image source={LOGO} style={styles.logo} />