【发布时间】:2014-02-13 15:41:35
【问题描述】:
此应用程序中的所有内容都运行良好,但有时我会得到一个空白页面,而不是主页(或任何其他页面)。然后,当我在受影响的视图中更改一些小东西(例如添加空格或。)时,页面再次呈现正常。
我认为问题可能是异步问题,但我找不到它。
我正在使用:
- node.js
- express.js
- 整合
- hogan.js
更新 1:
这似乎只发生在safari浏览器中,很奇怪,可能是css的东西,我去调查一下。
更新 2:
这绝对不是 CSS 的东西。
快递应用的主要设置:
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
dependencies
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
var express = require("express")
var cons = require("consolidate")
var app = express()
var path = require("path")
var index = require("./routes/index")
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
configure
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
app.configure(function(){
app.engine("html", cons.hogan)
app.set("view engine", "html")
app.set("views", __dirname + "/views")
app.use(express.static(path.join(__dirname, "public")))
})
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
routes
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
app.get("/", index.index)
app.get("/hire", index.hire)
app.get("/hire/:id/:nr", index.hirePerson)
app.get("/books", index.books)
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
listen
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
app.listen(2020)
然后在我的 index.js 路由文件中:
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
settings
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
var appURL = new function(){
this.home = "/",
this.hire = this.home + "hire"
this.books = this.home + "books"
this.projects = this.home + "projects"
this.portfolio = this.home + "portfolio"
}
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
routes
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/
exports.index = function(req, res){
res.render("index.html", {url:appURL, partials:{footer:"footer", header:"header"}})
}
exports.hire = function(req, res){
res.render("hire.html", {url:appURL, partials:{footer:"footer", header:"header"}})
}
exports.books = function(req, res){
res.render("books.html", {url:appURL, partials:{footer:"footer", header:"header"}})
}
exports.hirePerson = function(req, res){
res.render("hireDetail.html", {id:req.params.id, nr:req.params.nr})
}
我的一个观点(index.html)
{{> header}}
<section class="layoutIndex"><div class="layoutIndex-container">
<header class="layoutIndex-header">
<nav class="navHeader">
<h1 class="navHeader-logo"><a class="bf-logo" href="{{url.home}}"></a><span>Basing.com</span></h1>
<h2 class="navHeader-slogan">HTML / CSS / JS werkgroep</h2>
<ul class="navHeader-buttons modelTernary">
<li class="modelTernary-column"><a class="buttonPrimary" href="{{url.hire}}">Hire us</a></li>
<li class="modelTernary-column"><a class="buttonPrimary" href="{{url.books}}">Books</a></li>
<li class="modelTernary-column"><a class="buttonPrimary" href="{{url.projects}}">Projects</a></li>
</ul>
</nav>
</header>
<section class="layoutIndex-articles">
<article class="books">
<h2>Books <time>2014</time></h2>
<ul class="listArticles">
<li><h3><a href="">Javascript variables, what's so special about them?</a></h3></li>
<li><h3><a href="">Javascript variables, what's so special about them?</a></h3></li>
</ul>
</article>
<div class="hrLight"></div>
<article class="projects">
<h2>Projects</h2>
<h3 class="icon"><a href=""><i class="bf-logo"></i>CSS Objects: a front-end methodology</a></h3>
</article>
</section>
</div></section>
{{> footer}}
【问题讨论】:
-
在提供静态页面时,我有时会在 Safari 中看到同样的问题。可能与stackoverflow.com/questions/18811286/…有关
-
看到同样的事情。我认为这与304页面有关。哪个不提供实际页面。如果我找到什么会回复...
标签: javascript node.js express hogan.js