node.js 서버에서 자바 스크립트를 실행하는 방법

Fredtma

node.js 서버를 작성했습니다.
요청에서 HTTP POST 및 GET 변수를 추출 할 수 있습니다.
해당 변수를 서버의 js 스크립트에 전달하여 실행하고 싶습니다.
PHP에서 스크립트를 실행하려면 @ www.example.com/path/file.php?variable=value를 가리킬 것입니다.

<?php echo "You have ".$_GET['variable'];?>

noge.js @ www.example.com/path/file.njs?variable=value로 동일한 결과를 얻고 싶습니다.
내 문제는 file.njs가 텍스트로 실행된다는 것입니다. 나는 익스프레스를 사용하지 않고 있습니다.

 var sys=require("sys"),
 http=require("http"),
 path=require("path"),
 url=require("url"),
 filesys=require("fs"),
 mime=require("./node_modules/mime"),
 head=require("./node_modules/headers/initreq.njs");//this is used to extract the header
 http.createServer(handler).listen(80);//handler function is below
 sys.puts("Node Server Running on 80");

 function handler(request,response){
    var myPath=url.parse(request.url).pathname;//get the url
    var ext=myPath.replace(/(.)*\./,'');//get the extension
    var fullPath=path.join(process.cwd(),myPath);//get the working dir & join it with current working dir
    var mimeResult=mime.lookup(fullPath),acceptExt=['html','njs'];  

    if(acceptExt.indexOf(ext)!=-1){//only search HTTP header for html|njs files
        head.init(request,response,setContent);//head will correctly contain the $_GET AND $_POST variable
    } else {setContent();}  

    function setContent(){
        path.exists(fullPath,function(exists){
            if(!exists){
                response.writeHeader(404, {"Content-Type":"text/plain"});
                response.write("404 Not Found:: "+fullPath+"\n");
                response.end();
            }else{
                filesys.readFile(fullPath,"binary",function(err,file){
                    if(err){
                        response.writeHeader(500,{"Content-Type":"text/plain"});
                        response.write(err+"::"+myPath+"\n");
                        response.end();
                    }else{                      
                        response.setHeader("Content-Type", mimeResult);
                        response.writeHeader(200);
                        response.write(file,"binary");//this is the file that i want to execute and pass the $_POST & $_GET variable
                        response.end();
                    }
                });
            }
        });
    }
   sys.puts("Requested:: "+myPath.replace(/(.)*\//,'')+" - "+mimeResult );   
 }
Fredtma

요약하자면 내가 원하는 것은 PHP와 같은 node.js를 사용하는 것입니다. www.example.com/path/file.php?variable=value
같은 PHP 파일을 실행하려면 node.js로 www.example.com/path/file.js?variable=value 내가 생각 해낸 해결책은 요청 된 자바 스크립트를 모듈에 넣고 함수와 함께 포함합니다 . 예 :



require

http.createServer(function(req,res){
   var myPath=url.parse(req.url).pathname;//get the url
   var fullPath=path.join(process.cwd(),myPath);//get the working dir & join it with current working dir
    require(fullPath).content(req,res);//this is where the requested script is executed as a module. make sure to end the response (response.end()) in the module
});

철저히 테스트하지는 않았지만이 솔루션은 저에게 효과적이며 동적 페이지에도 사용할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

서버에서 Node.js 스크립트를 실행하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트 파일 (Node.js)에서 자바 파일을 시작하는 방법

분류에서Dev

JS : 자바 스크립트에서 음수를 추가하는 방법

분류에서Dev

puppeteer에서 자바 스크립트 코드를 실행하는 방법

분류에서Dev

자바 스크립트에서 PHP 코드를 실행하는 방법

분류에서Dev

Razor MVC .net에서 자바 스크립트 함수를 실행하는 방법

분류에서Dev

악의적 인 * .js 스크립트가 Node.js에서 실행되는 것을 방지하는 방법

분류에서Dev

고급 자바 스크립트 : JS에서 Pub / Priv를 수행하는 ALT 방법-미스터리

분류에서Dev

자바 스크립트에서 파이썬 스크립트를 실행하는 방법은 무엇입니까?

분류에서Dev

자바를 사용하여 웹 페이지에서 자바 스크립트를 실행하는 방법

분류에서Dev

Node.js를 사용하여 HTTP 요청에서 자바 스크립트 이름을 따르는 방법은 무엇입니까?

분류에서Dev

jekyll에 / js /의 자바 스크립트를 포함하는 방법

분류에서Dev

노드 js의 Windows에서 .bat 스크립트를 실행하는 방법

분류에서Dev

자바 스크립트에서 링크를 만드는 방법

분류에서Dev

크롬 브라우저 확장에서 자바 스크립트를 실행하는 방법

분류에서Dev

C ++에서 쉘 스크립트를 올바르게 실행하는 방법

분류에서Dev

자바 스크립트에서 href를 사용하는 방법?

분류에서Dev

자바 스크립트에서 "this"를 수정하는 방법

분류에서Dev

자바 스크립트 확인 상자 내에서 코드를 실행하는 방법

분류에서Dev

on () 메서드 내에서 Ajax 호출 후 자바 스크립트를 실행하는 방법

분류에서Dev

웹 사이트에서 자바 스크립트 코드를 실행하는 방법은 무엇입니까?

분류에서Dev

Rails 6에서 커스텀 자바 스크립트 함수를 실행하는 방법

분류에서Dev

Node.js 서버 + SPA 자바 스크립트 프레임 워크를위한 자동화 된 BDD 테스트 환경을 설정하는 간단한 방법은 무엇입니까?

분류에서Dev

자바에서 쉘 스크립트를 실행하여 오류를 얻는 방법은 무엇입니까?

분류에서Dev

node.js 내부에서 종료하지 않고 자바 스크립트 프로그램 실행

분류에서Dev

배열의 모든 자바 스크립트 멤버 함수를 호출하는 방법은 무엇입니까? [node.js]

분류에서Dev

버튼에 바인딩 된 자바 스크립트 코드를 단계별로 실행하는 방법

분류에서Dev

Nodejs Handlebars 서버 측 자바 스크립트 실행 방법

분류에서Dev

이 2 개의 자바 스크립트를 HTML에서 동시에 실행하는 방법

Related 관련 기사

  1. 1

    서버에서 Node.js 스크립트를 실행하는 방법은 무엇입니까?

  2. 2

    자바 스크립트 파일 (Node.js)에서 자바 파일을 시작하는 방법

  3. 3

    JS : 자바 스크립트에서 음수를 추가하는 방법

  4. 4

    puppeteer에서 자바 스크립트 코드를 실행하는 방법

  5. 5

    자바 스크립트에서 PHP 코드를 실행하는 방법

  6. 6

    Razor MVC .net에서 자바 스크립트 함수를 실행하는 방법

  7. 7

    악의적 인 * .js 스크립트가 Node.js에서 실행되는 것을 방지하는 방법

  8. 8

    고급 자바 스크립트 : JS에서 Pub / Priv를 수행하는 ALT 방법-미스터리

  9. 9

    자바 스크립트에서 파이썬 스크립트를 실행하는 방법은 무엇입니까?

  10. 10

    자바를 사용하여 웹 페이지에서 자바 스크립트를 실행하는 방법

  11. 11

    Node.js를 사용하여 HTTP 요청에서 자바 스크립트 이름을 따르는 방법은 무엇입니까?

  12. 12

    jekyll에 / js /의 자바 스크립트를 포함하는 방법

  13. 13

    노드 js의 Windows에서 .bat 스크립트를 실행하는 방법

  14. 14

    자바 스크립트에서 링크를 만드는 방법

  15. 15

    크롬 브라우저 확장에서 자바 스크립트를 실행하는 방법

  16. 16

    C ++에서 쉘 스크립트를 올바르게 실행하는 방법

  17. 17

    자바 스크립트에서 href를 사용하는 방법?

  18. 18

    자바 스크립트에서 "this"를 수정하는 방법

  19. 19

    자바 스크립트 확인 상자 내에서 코드를 실행하는 방법

  20. 20

    on () 메서드 내에서 Ajax 호출 후 자바 스크립트를 실행하는 방법

  21. 21

    웹 사이트에서 자바 스크립트 코드를 실행하는 방법은 무엇입니까?

  22. 22

    Rails 6에서 커스텀 자바 스크립트 함수를 실행하는 방법

  23. 23

    Node.js 서버 + SPA 자바 스크립트 프레임 워크를위한 자동화 된 BDD 테스트 환경을 설정하는 간단한 방법은 무엇입니까?

  24. 24

    자바에서 쉘 스크립트를 실행하여 오류를 얻는 방법은 무엇입니까?

  25. 25

    node.js 내부에서 종료하지 않고 자바 스크립트 프로그램 실행

  26. 26

    배열의 모든 자바 스크립트 멤버 함수를 호출하는 방법은 무엇입니까? [node.js]

  27. 27

    버튼에 바인딩 된 자바 스크립트 코드를 단계별로 실행하는 방법

  28. 28

    Nodejs Handlebars 서버 측 자바 스크립트 실행 방법

  29. 29

    이 2 개의 자바 스크립트를 HTML에서 동시에 실행하는 방법

뜨겁다태그

보관