2017-04-18 21 views
0

特定のフォルダに存在するファイルのリストを作成しましたが、リストの後にこの変数にHTMLでアクセスすることができます。NodeJSで変数に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. (後で、おそらくこれが必要になるので推奨)

  2. 使用正規表現HTMLファイルを変更するには(楽しい実験)

    をサーバー上の別のエンドポイントにあなたのコールを分離し、クライアントに要求を行います

あなたのhtmlファイルがこのように見えると想像してください。二重括弧に気付く。

"<html><body><script> var files = {{myvars}} </script></body></html>" 

、あなたはあなたがして送信され、元のHTML文字列

var newHTML = html.replace('/\{\{myvars\}\}/', JSON.stringify(yourFiles)) 
response.write(newHTML); 
response.end(); 

最終的なHTMLで変数を埋めるために正規表現を使用することができます

var yourFiles = ['file1', 'file2', 'file3'] 

配列内のファイルのリストを持っていますこのようになります

"<html><body><script> var files = ['file1', 'file2', 'file3'] </script></body></html>" 
0

生の文字列を変数に置き換えると、いくつかのクリーンな解決策があります。

:私は、次のいずれかをお勧めします
関連する問題