2017-04-18 1 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

. HTML 파일 (재미 실험을) 변경

  • 사용 정규식을

    1. 분리하여 서버에서 다른 엔드 포인트에 전화 및 클라이언트의 요청을

      (나중에 아마이 필요하기 때문에 권장)

    당신의 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

    원시 문자열을 변수로 바꾸는 것은 여러 가지 깨끗한 솔루션을 제공합니다. 나는 다음 중 하나를 추천 할 것입니다 :

    관련 문제