簡體   English   中英

部分網頁未呈現在動態網頁上

[英]Partials not being rendered on dynamic webpage

我為index.html文件創建了一個把手,因此,當用戶訪問http:// localhost:3000 / [root]時,它將顯示index.html的動態版本。 但是,當頁面加載時,除了我包括的部分內容之外,其他所有內容都加載了嗎?

這是頁面把手的一部分,我放置了局部部分(newView.handlebar):

.
.
<main class="twit-container">

    {{#each twitData}}    //will iterate/insert data for the amount of objects in the array being passed in server.js
        {{> newTwit}}  //the name of my partial template
    {{/each}}

</main>
.
.etc...

下面是我的server.js代碼(我認為可能是問題所在):

var path = require('path');
var express = require('express');
var exphbs = require('express-handlebars');
var fs = require('fs');
var app = express();

app.engine('handlebars', exphbs());
app.set('view engine', 'handlebars');

var port = process.env.PORT || 3000;

var rawData = fs.readFileSync('./twitData.json');
var twitData = JSON.parse(rawData); //get the tweet data (text/authors)


app.get('/', function (req, res) {

  res.status(200).render('newView', {data: twitData});

});

app.use(express.static('public'));

app.get('*', function (req, res) {
  res.status(404).sendFile(path.join(__dirname, 'public', '404.html'));
});

app.listen(port, function () {
  console.log("== Server is listening on port", port);
});

您正在遍歷twitData但從未將其發送到視圖。

<main class="twit-container">

    {{#each twitData}}    //will iterate/insert data for the amount of objects in the array being passed in server.js
        {{> newTwit}}  //the name of my partial template
    {{/each}}

</main>

您需要這樣發送:

res.status(200).render('newView', { twitData });

否則,您將需要使用: {{#each data}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM