본문에도 썼지만
내가 만든 nodeJS프로그램을 누군가에게 배포하고자 하는데
<상황>
1. 내가 짠 소스파일은 하나임(따로 분기시키지 않고 한 파일에서 필요한 모듈을 불러와서 실행)
2. 그 소스파일에 여러 모듈들을 require하고 있음.
<현재 상황>
누군가에게 배포하려면
1. package.json을 전달함
2. app.js(내가 짠 소스)를 전달함
=> 받은 사람은
1. package.json 파일을 이용해서 npm install 함
2. 내가 짠 소스를 실행함 (node app.js)
<내가 원하는 상황>
1. package.json이 필요없는... npm install 과정을 없애고 싶음.
2. 그냥 하나의 js파일에 모든 필요한 모듈을 몰아넣어 전달하고 싶음
3. 받은 사람은 npm install 같은 과정 필요없이 node app.js만으로 실행.
뭔개 븅쉰같은소리야 그럼 node_modules을 통쨰로복사하던지 븅쉰빠가사리
존나 변태같은 발상이다
아니 내가 원한다는데 그 변태같은 상황을!
다시 말한다 node_modules에 들어있는 모든 디펜던시들을 하나의 파일로 묶고 싶다. 내가 배포하려는 대상은 컴퓨터를 모름. 그리고 알려주고 싶지도 않아. npm이 뭔지 npm install이 얼마나 간편한건지 알려주기도 귀찮고, 대신 설치해주기도 싫어. 걍 nodeJS실행가능한 환경에서 내가 던져준 단일파일하나로 실행이 되게끔하고 싶다구.
http://stackoverflow.com/questions/14314038/how-do-i-deploy-node-js-applications-as-a-single-executable-file
검색해보니 이런것도 나오네 난 해본적도 없고 모름
tar 압축 같은거 이야기하지마셈. 나는 nodeJS에 이런 기능이 있는지를 알고 싶은거임.
ㄴ방금 꾸이이익 님 페이지에서 그나마 내가 원하는 것과 가장 비슷한 답변이
"browserify --output bundle.js --bare --dg false input.js." 이거임.
모든 디펜던시를 하나로 묶고, 내가 짠 소스까지 묶어서 단일파일( 새로운파일.js )로 만들고픈건데... 물론 변태적인 발상이자만 난 그게 필요해서 물어본거임.
ㄴ 이게정답이네
...lscpps... 아주 도움이 되네요... (아님)
원글에 답변 남겨습니다만 lscpps님이 남기신 댓글과 같은 문제가 있어보이기 때문에 쉽진않아보이네요 물론 webpack이나 gulp에서 잘 해결해줄수도 있겠지만요
걍 웹팩에 노드옵션 넣고 빌드하면 되는거 아님?
웹배포랑은 다른가