节点的Http服务器列出目录中的所有文件

时间:2019-03-11 18:33:19

标签: javascript node.js fs

我对Node很陌生,所以如果这是一个简单的问题,我深表歉意。但是我试图读取目录Dim rng As Range '~~> Change this to whatever range you want Set rng = Sheet1.Range("A1:B10") With rng .Borders(xlDiagonalDown).LineStyle = xlNone .Borders(xlDiagonalUp).LineStyle = xlNone For k = 7 To 12 With .Borders(k) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With Next End With 的内容,然后在网页上显示指向它们的链接。问题在于目录中的文件是动态的,因此我在Node中使用./resources

但是fs.readdir页面上没有显示<h1>;有什么想法吗?

index.html

1 个答案:

答案 0 :(得分:0)

此解决方案利用模块http,并列出目录resDir中的所有文件。它还提供了指向文件的链接,但是由于安全方面的考虑,它并非在所有浏览器/服务器上都有效,以避免在用户和服务器之间提供免费的网关。要增强功能,请should have a file server

var path = require('path')
var http = require('http')
var find = require('find')

var resDir = __dirname

http.createServer(function (req, res) {
  res.setHeader('content-type', 'text/html')
  find.file(resDir, function (files) {
    res.write('<ul>')
    for (let i = 0; i < files.length; i++) {
      let fileRelative = path.relative(resDir, files[i])
      res.write('<li><a href="' + fileRelative + '">' + fileRelative + '</a></li>')
    }
    res.write('</ul>')
    res.end()
  })
}).listen(3000, function () {
  console.log('server start at port 3000')
})

现在您可以在http://localhost:3000上访问它