使用Node.js将HTML内容插入到模板中

时间:2015-05-27 00:03:02

标签: javascript html node.js express

我有一组文件(HTML片段),我用Node.js提供如下服务:

var finalhandler = require('finalhandler')
var http = require('http')
var serveIndex = require('serve-index')
var serveStatic = require('serve-static')

// Serve directory indexes for all files in the folder
var index = serveIndex('./', {'icons': true})

// Serve up public/ftp folder files
var serve = serveStatic('./')

// Create server
var server = http.createServer(function onRequest(req, res){
  var done = finalhandler(req, res)
  serve(req, res, function onNext(err) {
    console.log(req,res)
    if (err) return done(err)
    index(req, res, done)
  })
})

// Listen
server.listen(3000)

这将提供一个索引,其中包含HTML文件的活动链接列表。我需要将链接的HTML文件包含在模板中(即,在每个页面上放置相同的标题,并读入相同的css文件)。当我使用documentation中所述的template选项时,提供的唯一内容就是模板:

// Serve directory indexes for public/ftp folder (with icons)
var index = serveIndex('./', {'icons': true, template:'template.html'})

如何使用模板或其他配置在默认HTML中提供HTML片段?

1 个答案:

答案 0 :(得分:0)

我认为您需要在模板中添加一些内容才能实际显示如下文件:

<body class="directory">
  <div id="wrapper">
    <h1><a href="/">~</a>{linked-path}</h1>
    {files}
  </div>
</body>

如果您查看/ public下的serve-index安装目录,您将找到名为directory.html的默认模板文件。您可以剪切并粘贴部分代码以显示文件。