Я использую учебник Nativescript для создания карусели здесь .
Проблема, с которой я сталкиваюсь, заключается в том, что я получаю следующую ошибку (минус мое запутывание)
Error: Failed to load component from module: undefined.xml or file: /data/data/{Obfuscated}/files/app/pages/welcome/slides/slide1.xml
когда он пытается загрузить XML-файлы в этой строке (полный фрагмент ниже):
slides.push(builder.load(slidePath))
После некоторой проверки я обнаружил, что файловая система не видит загружаемые файлы. Мой код такой же, как код учебников. Я прошел через это построчно (даже выполняя diff), и код на самом деле тот же.
Вот лучше посмотрите путь к файлу, который он задушил, вы можете сравнить его с изображением, которое я предоставил ниже:
/ данные / данные / {Обфусцированный} /files/app/pages/welcome/slides/slide1.xml
Я могу убедиться, что структура папок такая же, как в учебнике app/pages/welcome/slides.slide1.xml
, но когда страница загружается, я получаю эту ошибку, и она никогда не загружает xml.
Вот полный фрагмент:
private loadSlides(slideFiles, slidesPath) {
return new Promise(function (resolve, reject) {
const slides = []
const currentAppFolder = fs.knownFolders.currentApp();
const path = fs.path.normalize(currentAppFolder.path + "/" + slidesPath);
slideFiles.forEach((dataFile, i) => {
const slidePath = path + "/" + dataFile;
console.log(slidePath);
// Here's where it crashes
slides.push(builder.load(slidePath))
});
resolve(slides);
});
}
Когда я проверяю его, отлаживая и используя модуль файловой системы, чтобы проверить, существует ли путь ... он всегда возвращается ложным, даже если структура папок определенно существует так, как в учебнике.
Строка console.log отображает это:
/data/data/{myobfuscation}/files/app/pages/welcome/slides
Как вы видите, он соответствует моему пути к папке ниже.
Как заставить файловую систему видеть структуру этой папки? Она прекрасно работает, когда я использую ее для проверки файлов изображений существования.
Вот изображение структуры папок: