背景信息:我正在开发一个用于快递的网络应用程序。目前,我在一个目录中拥有所有视图。我想构建我的views文件夹以包含多个目录以将视图组合在一起。问题是,当我这样做时,我的路径搞砸了。例如,如果我有一个dir结构,如:
views
->photos
-->search.jade
-->stats.jade
layout.jade
如果我先点击统计信息链接,然后点击搜索链接,我会收到错误消息,说明找不到照片/照片/搜索'。我认为这与我从照片目录中加载统计数据这一事实有关,因为我认为href是相对的,它会以某种方式将额外的照片添加到dir路径。我在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
答案 0 :(得分:0)
所以,我终于找到了最简单的修复方法,结果发现这只是一个错字。我将代码更改为:
li
a(href='/photos/search') Search
li
a(href='/photos/stats') Stats
我想href路径开头缺少的'/'字符告诉浏览器相对于当前的静态文件目录。添加它会告诉浏览器相对于公共目录。