Programing

node.js 웹앱을 일반 데스크톱 앱으로 패키징

lottogame 2020. 9. 14. 21:35
반응형

node.js 웹앱을 일반 데스크톱 앱으로 패키징 [닫힘]


나는 조금 검색했지만 이것에 대한 기존 도구를 찾을 수 없습니다.

나는 당신을 위해 멋진 일을하는 자신의 컴퓨터에서 실행되도록 설계된 node.js 웹 서버를 가지고 있습니다. MySnazzyThing.appnodejs와 npm을 설치 node mysnazzyapp.js하고 명령 줄에서 실행하는 대신 두 번 클릭 할 수 있다면 꽤 멋질 것 입니다.

.app실행 파일은 노드 서버를 스풀하고 정상적으로 일 것입니다 무슨 보여줄 것입니다 간단한 기본 웹킷 창을 열 것이라고 localhost:3000내가 명령 행에서 실행 된 경우입니다.

이 기본 앱은 예를 들어 Mac 앱 스토어를 통해 배포 될 수 있습니다. 그리고 node.js 데스크톱 앱인 bam.

그러한 도구가 있습니까? 아니면 제가 상상 한대로 작동하지 않는 기술적 이유가 있습니까?


AppJS를 사용하여이 작업을 수행 할 수 있습니다 : https://github.com/appjs/appjs


옵션 1 : 전자 (일명 원자-쉘)

이것은 github의 Atom 편집기가 사용하는 쉘입니다. node-webkit과 매우 유사하지만 스크립트를 먼저 실행하고 사용자에 대한보기 / 창을 만들어야합니다. 다른 사소한 차이점이 있지만 살펴볼 가치가 있습니다.


옵션 2 : NW.js 이전의 node-webkit

요점은 기본적으로 노드의 확장 된 개체 모델 및 모듈을 지원하는 웹 기반 앱을 작성하도록 JS 엔진을 확장한다는 것입니다. 그런 다음 package.json start.html 모듈과 js 파일을 zip으로 패키징합니다 ( .nw 확장자)를 사용하여 실행하고 nw (.exe) .. Windows, Mac 및 Linux 빌드를 사용할 수 있습니다.


옵션 3 : Node.js의 Carlo chrom (ium) 셸

이렇게하면 로컬에서 실행중인 서버 애플리케이션에 연결할 수있는 셸로 로컬에 설치된 Chrome을 시작할 수 있습니다. 로컬 크롬이 필요하지만 요청한 것과 매우 비슷합니다.


옵션 4 : MacGapNode (OSX 전용)

노드 통합이있는 MacGap (부실화되는 것 같습니다)


곁에 : 서비스 ...

.App으로 OSX를 말할 수는 없지만 NodeJS에 백그라운드 서비스 설치를 생성하고 데스크탑의 "로컬"사이트에 대한 링크를 생성 할 수 있습니다. 대부분의 브라우저에는 모든 기능을 표시하지 않는 옵션이 있습니다 (특히 firefox가 표시한다는 것을 알고 있습니다).

귀하의 질문은 특히 OSX에 대한 것이라는 것을 알고 있지만 Windows에서는 NSSM을 사용하여 서비스로 무엇이든 실행할 수 있으며 Windows의 NodeJS 기반 서비스에 사용했습니다. 위의 다른 옵션 중 일부는 필요에 따라 더 좋습니다.


제거됨 :


이 답변은 여러 질문에 대해 복사되었으며 이러한 참조는 대부분 업데이트 편의를위한 것입니다.


저는 Topcube를 살펴볼 것을 제안합니다. "노드 개발자에게 GUI 플랫폼으로 HTML5 + CSS3를 사용하여 노드 서버에 데스크탑 GUI를 제공하는 방법을 제공하는 것"이 ​​목표입니다. github의 Topcube .


현재이를 수행하는 방법에는 여러 가지가 있습니다.

노드 + html5 앱 패키징 분야에서 확실한 승자는 현재 Electron입니다 (Atom, VSCode, Slack, Discord 등에서 사용).

또한 앱으로 패키지 된 다른 언어 (해당 언어 / 스택 용 도구 사용)를 사용하고 노드 설치를 확인하고 노드로 "서버"스크립트를 시작한 다음 기본 브라우저 (또는 일부 웹보기 구성 요소 다른 수단), 마지막으로 위치를 노드 서비스로 설정하십시오. 이것은 매우 가볍고 효율적인 방법이지만 Electron과 같은 솔루션으로 OS와 잘 통합되지는 않습니다.

The primary competitor to Electron here, is NW.js. As far as I can tell, the main feature that NW.js has that Electron does not (yet) is compilation/obfuscation. While Electron makes auto updates easy.

https://electron.atom.io/ https://nwjs.io/

참고URL : https://stackoverflow.com/questions/6834537/packaging-a-node-js-webapp-as-a-normal-desktop-app

반응형