所有
我做了一些研究,但没有找到解决这个问题的确切线索或解决方案。
我在此webapp中使用express,Chrome版本60.0.3112.113和Win 10版本1703。
我目前正在开发一个网站,我想用汉堡包svg进行移动导航。这就是html在" topbar"
中的用法data tab4a_&end.;
set
mck_tab4a_&end8.
mck_raw.mck_tab4a_&end7.
run;
这是文件结构:
https://puu.sh/xxDih/c842297b54.png
根据结构,我只需要<div id="topbar">
<img src="../images/hamburger.svg" alt="ham">
</div>
,但是当我这样做时,它会在瀑布中出现404错误。我已经多次遇到这个问题,在父目录中进行任何类型的HTML源代码,但在JS文件中它运行正常。
我不确定问题是什么。
答案 0 :(得分:0)
我意识到这是表达自己的问题。
如果(在这种情况下)您的index.html
为express.static('./pages')
,则它无法在页面上方看到任何内容,并将网页视为工作目录。
我,来自React(这是我在基本JS之前学到的第一件事),想把所有页面放在一个文件夹中,我认为这是有意义的。
我所做的解决方法(可能不是最佳方法)是将index.html
作为兄弟pages
,css
和images
添加到src
中}文件夹。然后在index.html
中,它有一个元标记,如下所示:<meta http-equiv="refresh" content="0; url=./pages/home.html" />
重定向到home.html
页面。
同样,这可能不是最佳选择,但对于像我这样的强迫症男性来说,这是有道理的。
<强>更新强>
我们最终做的是让index.html成为静态页面,然后在iframe中加载各个页面。这个网站主要是为了获取信息而且还没有数据库,所以没有太多的东西需要处理。这是有效的新文件结构。
http://puu.sh/xy5Dw/4dbc72ec06.png
src
现在是我们的工作目录(express.static('./src')
),其中的所有内容都很详细。
一旦我们确实包含了一个数据库,它在服务器中最多只能是10个值,并且将使用非常基本的请求,没有任何问题。
答案 1 :(得分:0)
对于快速服务器,每个uri都由express包含资源URL和请求URL处理。
express.static(root_path)
定义的静态服务器根目录。这就是我想说的。
答案 2 :(得分:0)
我注意到images文件夹,node_modules文件夹和pages文件夹都在同一目录下,而css位于pages文件夹下。
&#34; ../图像/ hamburger.svg&#34;是来自pages文件夹的正确相对路径,但是(大红旗)node_modules位于&#34; ../ node_modules /&#34;我认为服务器是从/ pages /文件夹服务器根目录服务的。意味着/ pages /文件夹上方的任何内容都不会被共享。
显然,您不想分享../../../windows/system32/或用户文档等。为了防止共享那些您可以通过浏览器从html页面访问的最高目录是服务器正在使用的文件夹我认为/pages/home.html是localhost / home.html,localhost / css /是你的css目录。
在服务器上运行的程序可以访问服务目录上方的文件,但浏览器不能。 &#34; / node_modules /&#34;应该在服务器根目录之外。