Nativescript fs模块看不到文件夹或文件

Nativescript fs模块看不到文件夹或文件,nativescript,angular2-nativescript,Nativescript,Angular2 Nativescript,我正在使用Nativescript教程创建旋转木马 我遇到的问题是,我得到了以下错误(减去我的混淆) 当它尝试在此行加载xml文件时(下面是完整的代码段): 经过一些检查,我发现是文件系统没有看到我正在加载的文件。我的代码与教程代码相同。我一行一行地看了一遍(甚至做了一个diff),代码实际上是一样的 下面是它阻塞的文件路径,您可以将其与下面我提供的图像进行比较: /data/data/{Obfuscated}/files/app/pages/welcome/slides/slide1.xml

我正在使用Nativescript教程创建旋转木马

我遇到的问题是,我得到了以下错误(减去我的混淆)

当它尝试在此行加载xml文件时(下面是完整的代码段):

经过一些检查,我发现是文件系统没有看到我正在加载的文件。我的代码与教程代码相同。我一行一行地看了一遍(甚至做了一个diff),代码实际上是一样的

下面是它阻塞的文件路径,您可以将其与下面我提供的图像进行比较: /data/data/{Obfuscated}/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);
    });
  }
当我通过调试和使用文件系统模块测试路径是否存在来测试它时。。。它总是返回false,即使文件夹结构确实存在于教程中

console.log行显示以下内容:

/data/data/{myobfuscation}/files/app/pages/welcome/slides
正如您所看到的,它与下面我的文件夹路径相匹配

如何让文件系统看到该文件夹结构?当我使用它来验证是否存在图像文件时,它工作正常

以下是文件夹结构的图像:
Webpack永远不会知道您在运行时需要这些XML文件,您必须调整
Webpack.config.js
以将这些文件包含在捆绑包中

更新
CopyWebpackPlugin
配置,如下所示:

        // Copy assets to out dir. Add your own globs as needed.
        new CopyWebpackPlugin(
            [
                { from: { glob: "assets/**" } },
                { from: { glob: "fonts/**" } },
                { from: { glob: "**/*.jpg" } },
                { from: { glob: "**/*.png" } },
                { from: { glob: "**/*.xml" } },
            ],
            { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] },
        ),

添加
{from:{glob:***.xml“}},
将所有xml文件以及文件夹结构复制到包中

您是否使用
--bundle
标志运行,请尝试不使用
--bundle
并查看这是否有帮助。我刚刚测试了您的建议,但无论是否使用标志,都会导致相同的错误。想法不错。@iamjc015/razorsyntax您能分享一份可以复制该问题的回购样本吗?我希望我能(我工作的地方出于安全原因)。也就是说,我直接复制了代码,包括模块、组件、文件路径等,并将package.json与演示的版本进行了匹配。但我不认为这与演示本身有关,因为我认为这与文件系统没有看到文件路径有关。这与文件系统无关,唯一可能的原因是您没有看到正确的路径/构建没有包含该文件,对于这两种情况,我可能需要一个示例项目。正是这样!这也解释了我们在加载非.png或.jpg的图像时遇到的其他问题。谢谢,马诺!
/data/data/{myobfuscation}/files/app/pages/welcome/slides
        // Copy assets to out dir. Add your own globs as needed.
        new CopyWebpackPlugin(
            [
                { from: { glob: "assets/**" } },
                { from: { glob: "fonts/**" } },
                { from: { glob: "**/*.jpg" } },
                { from: { glob: "**/*.png" } },
                { from: { glob: "**/*.xml" } },
            ],
            { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] },
        ),