如何访问高于index.html

时间:2015-12-04 07:10:18

标签: html5 polymer relative-path polymer-1.0

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

我的文件结构如下:

--- 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

问题

  
      
  • 发生了什么事?
  •   
  • 我不了解相对路径?
  •   
  • 我出于某种原因被禁止使用相对路径访问高于index.html的文件吗? (对我没用。
  •   
  • 如何使用<iron-ajax> url属性中的相对路径访问firebase.json? (或者根本就此而言。
  •   

2 个答案:

答案 0 :(得分:1)

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

对于您的服务提供商而言,仅将app文件夹公开是有意义的。

答案 1 :(得分:0)

经过进一步的实验和分析,我很确定这是发生了什么......

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

这个理论还有一些东西没有回答。就像为什么我们可以在bower_componentsnode_modules等中访问我们想要的其他文件的内容。但是这个答案可能会在另一天发生。

修改 看起来上段中剩下的问题的答案是found in this SO answer(及其问题)。

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