如何访问高于index.html的相对路径节点

How to access a relative path node higher than index.html

我使用 $ gulp servelocalhost: 上提供我的文件。

我的文件结构如下所示:

--- root/
   |--- firebase.json
   |--- app/
       |--- index.html
       |--- manifest.json
       |--- elements/
           |--- my-elements/
               |--- my-element.html

my-elements.html里面我调用两个<iron-ajax>元素如下:

我的-elements.html
<iron-ajax id="manifest" url="../../manifest.json">
<iron-ajax id="firebase" url="../../../firebase.json">

问题

我可以正常访问 manifest.json 文件。但是当我尝试访问 firebase.json 文件时,出现以下错误:

访问 firebase.json 时出现错误消息:
GET http://localhost:3000/firebase.json 404 (Not Found) iron-request.html:245

问题

  • What's going on?
  • What am I not understanding about relative paths?
  • Am I for some reason being blocked from accessing files higher then index.html using relative paths? (Makes no sense to me.)
  • How do I access firebase.json using a relative path in my <iron-ajax> url property? (Or at all, for that matter.)

我很确定你被阻止了,因为你使用的路径是完全有效的。

您的服务提供商只制作应用程序文件夹 public 有点有意义。

经过进一步的实验和分析,我很确定这就是正在发生的事情...

在我的机器上本地创建并保存文件时,Web 根目录是 root/app/ 目录。但是,当页面由 gulp 提供时,Web 根目录变为 localhost:3000。由于localhost:3000是路径中可访问的最高节点,我们不能访问它上面的其他目录吗?

这个理论还有一些问题没有回答。比如为什么我们可以在 bower_componentsnode_modules 中访问我们想要的其他文件的内容等等。但这个答案可能会在另一天出现。

编辑: 看起来上一段中剩余问题的答案是 found in this SO answer(及其问题)。

看起来 gulp 正在准备一个分发目录(名为 dist),该目录在从 Polymer Starter Kit 提供时重新组织文件,至少考虑 bower_components 子目录。