2017-10-20 10 views
0

Node.js 플랫폼에 대해 commander.js을 사용하여 간단한 명령 줄 응용 프로그램을 만들었습니다. 이제 간단하게 exe 파일로 컴파일하고 싶습니다. 직접 실행할 수 있습니다. 나는 완벽한 애플리케이션Node.js 명령 줄 앱을 단일 실행 파일로 변환하는 방법은 무엇입니까?

에 대한 단일 실행 파일을 원하는 수단

이 내 응용 프로그램 구조 그것은 노드의 어떤 종류없이 노드 응용 프로그램을 실행하는 것은 불가능

답변

1
  • 이 내가이 내 package.json 파일

JSON입니다 npm i -g pkg

  • 를 사용하여 pkg 모듈을 설치 단일 실행
  • 내 Node.js를 명령 줄 응용 프로그램을 패키지 방법입니다

    { 
        "name": "my-app-exe", 
        "version": "1.0.0", 
        "description": "Myapp-Cli tool as executable", 
        "main": "index.js", 
        "scripts": { 
        "test": "echo \"Error: no test specified\" && exit 1" 
        }, 
        "keywords": [ 
        "myapp", 
        "cli", 
        "exe" 
        ], 
        "author": "Shisht", 
        "license": "MIT", 
        "devDependencies": { 
        "myapp": "1.0.0" 
        }, 
        "bin": "node_modules/myapp-cli/bin/cli", 
        "pkg": { 
        "assets": "node_modules/**/*" 
        }, 
        "help": "pkg . --target host --output myapp-1.0.0-x64.exe --debug" 
    } 
    
    • 명령 예 내가 node.exe` 패키지 실행에`포함 할 한 중요하지 않습니다 myapp.exe pkg . --target host --output myapp-1.0.0-x64.exe --debug
  • 1

    APP_ROOT 
        | - package.json 
        | - node_modules 
        | - node_modules/.bin/myapp.bat 
        | - node_modules/myapp/bin/myapp 
        | - node_modules/myapp/bin/myapp-action1 
        | - node_modules/myapp/bin/myapp-action2 
    

    감사입니다 런타임에 을 실행하면에 있습니다. 따라서 프로그램을 배포하려면 독립형 .exe으로 Node 자체를 코드와 함께 실행 파일로 묶어야합니다. EncloseJS과 같은 다양한 도구가 있습니다.

    +0

    크기에 myapp을 포장하는 데 사용하지만 내가 어떻게 할 수 있습니까? 'babel' 명령 줄 도구에 대해 알고 있습니까? 단일 실행 파일로 패키지화하기 위해 작업 예제를 게시 할 수 있습니까? –

    +0

    'https : // enclosejs.s3.amazonaws.com/enclose-v0.12.15-win32-5c54091.exe.sha256' –

    +0

    에서 리소스를 다운로드하지 못했기 때문에'EncloseJS'를'Windows'에 설치하지 못했습니다. @sspsingh : Babel is is 여기서는 관련이 없습니다 - 이전 버전의 브라우저/노드에서 작동하도록 자바 스크립트를 컴파일하지만 패키지 방법에 영향을 미치지 않습니다. 이 오류는 네트워크에 문제가있는 것처럼 보입니다. –