Javascript node.js+express.js&hogan.js:有时返回空白页

Javascript node.js+express.js&hogan.js:有时返回空白页,javascript,node.js,express,hogan.js,Javascript,Node.js,Express,Hogan.js,这个应用程序中的一切都很好,但有时我会得到一个空白页面,而不是主页或任何其他页面。然后,当我在受影响的视图中更改一些小的内容时,例如,添加一个空间,或者。页面再次呈现为正常 我认为问题可能是异步问题,但我找不到它 我正在使用: node.js express.js 巩固 hogan.js 更新1: 这似乎只发生在safari浏览器中,非常奇怪,可能是css的问题,我会调查 更新2: 这绝对不是CSS的东西 express应用程序的主要设置: 然后在我的index.js路由文件中: 我的一个视图i

这个应用程序中的一切都很好,但有时我会得到一个空白页面,而不是主页或任何其他页面。然后,当我在受影响的视图中更改一些小的内容时,例如,添加一个空间,或者。页面再次呈现为正常

我认为问题可能是异步问题,但我找不到它

我正在使用:

node.js express.js 巩固 hogan.js 更新1:

这似乎只发生在safari浏览器中,非常奇怪,可能是css的问题,我会调查

更新2:

这绝对不是CSS的东西

express应用程序的主要设置:

然后在我的index.js路由文件中:

我的一个视图index.html


我很确定我们在这里看到了304错误

详情如下:

基本上,当您的服务器返回304-Not-modified响应时。Safari打破了它

解决此问题的方法是禁用etag响应。通过禁用“etag”,您可以仅针对ios请求

app.disable('etag');
Express最近在这里集成了以下内容:

因此,在您的情况下,在全球范围内禁用etag:

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
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")))
        app.disable('etag');
    });

公平警告:我仍然有304个标题,但Safari似乎不显示空白白页,除非我双击重新加载按钮。无论哪种方式,如果我点击一次,页面似乎可以可靠地加载。

在Safari中,当我提供静态页面时,有时也会遇到同样的问题。可能和看到同样的东西有关。我想这和304页有关。它不服务于实际页面。如果我发现什么,我会回应的。。。
{{> 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}}
app.disable('etag');
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
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")))
        app.disable('etag');
    });