背景资料:我正在为express开发一个web应用程序。目前,我将所有视图放在一个目录中。我想组织我的视图文件夹,使其包含多个目录,以便将视图分组在一起。问题是,当我这样做时,我的路径会变得一团糟。例如,如果我有一个像这样的目录结构:
views
->photos
-->search.jade
-->stats.jade
layout.jade如果我先点击统计链接,然后点击搜索链接,我会得到一个错误,说找不到‘照片/照片/搜索’。我认为这与我从照片目录加载统计数据的事实有关,它以某种方式将额外的照片添加到目录路径中,因为我认为hrefs是相对的。我在API文档和在线上到处阅读,没有任何信息。谁能解释一下这件事?
在我的统计或搜索文件中会包含extends ../layout。这是我的layout.jade的样子。
doctype html
html(lang='en')
head
link(rel='stylesheet', href='/css/style.css')
block header
body
// Navigation
nav.navbar.navbar-inverse.navbar-fixed-top(role='navigation')
.container
// Brand and toggle get grouped for better mobile display
.navbar-header
button.navbar-toggle(type='button', data-toggle='collapse', data-target='socialid-nav')
span.sr-only Toggle navigation
span.icon-bar
span.icon-bar
span.icon-bar
a.navbar-brand(href='#') HOME
// Collect the nav links, forms, and other content for toggling
.collapse.navbar-collapse(id='app-nav')
ul.nav.navbar-nav
li
a(href='/home') Home
if user
li
a(href='photos/search') Search
li
a(href='photos/stats') Stats
li
a(href='/logs') Search Logs
li
a(href='#') Logged in as: #{user.username}(#{userRole})
li
a(href='/signout') Sign Out
// /.navbar-collapse
// /.container
// Page Content
block content
// Footer
footer
.row
.col-lg-12
p Copyright © SOCIAL-ID 2014
block scripts发布于 2015-11-03 02:58:07
所以,我最终找到了最简单的修复方法,结果证明这只是一个打字错误。我更改了代码,如下所示:
li
a(href='/photos/search') Search
li
a(href='/photos/stats') Stats我猜href路径开头缺少的'/‘字符告诉浏览器要相对于当前的静态文件目录进行查找。添加它会告诉浏览器相对于公共目录进行查找。
https://stackoverflow.com/questions/33483299
复制相似问题