我列出了特定文件夹中存在的文件,我希望在列出之后,可以在HTML中访问此变量。
Server.js
var http = require('http');
var arquivo = require('fs');
var server = http.createServer(function(request, response){
response.writeHead(200, {'Content-Type': 'text/html'});
arquivo.readFile(__dirname+'/pagina.html',
function(err, html){
if (err) {
response.write("Arquivo não encontrado!");
response.end();
} else{
response.write(html);
var fs = require('fs');
var files = fs.readdirSync(__dirname+'/list/'); //LIST FOLDER
response.end();
}
});
});
server.listen(3000, function(){
console.log('Servidor está rodando!');
});
pagina.html
<html>
<script type="text/javascript">
alert(files); //Name of var list
</script>
</hmtL>
答案 0 :(得分:1)
用变量替换原始字符串有几个干净的解决方案。我会推荐以下任何一种:
答案 1 :(得分:0)
有两种方法可以做到这一点。
将您的呼叫分离到您服务器上的另一个端点并在客户端上发出请求(建议您以后可能需要这样做)
使用正则表达式更改您的html文件(有趣的实验)
想象一下你的html文件是这样的;注意双括号。
"<html><body><script> var files = {{myvars}} </script></body></html>"
你有一个数组中的文件列表
var yourFiles = ['file1', 'file2', 'file3']
然后您可以使用正则表达式填写原始html字符串中的变量
var newHTML = html.replace('/\{\{myvars\}\}/', JSON.stringify(yourFiles))
response.write(newHTML);
response.end();
发送的最终html将如下所示
"<html><body><script> var files = ['file1', 'file2', 'file3'] </script></body></html>"