업데이트 프로그램 전자의 간단한 응용 프로그램

전자가 개발 한 첫 번째 응용 프로그램

배경

활동이 이미 템플릿 기반, 실제 양이 버튼의 위치로, 일반적으로 조정을 개발할 필요가없는 것, 색이, 글꼴 크기, 즉시 무엇을 게시 할 수 있습니다 짓을하고 있지만 대부분의 작업은 일상적인 활동의 일부이기 때문에,

그러나 게시 할 수있는 개발을 통해 이동 영업 활동은, 자신의 운영 효율성에 영향을 미치는 (╮ (╯ ▽ ╰) ╭), 명령 발행 개발하기 시작했다 : 드래그하여 (° 'Д'° ° 모듈에 기대하는 것은, 당신이 (활동을 생성 할 수 있습니다 ) ° 일반적으로, 그것은 당신에게 너무 많은 공간, 좋은 플레이를 제공하도록 설계되었습니다,뿐만 아니라, 그것은 상호 작용하는) H5 형 마카이 생성 도구를 이해할 수있는 좋은 작업 플러스 치킨을 할 수 있습니다. ╮ (╯ ▽ ╰) ╭,이 짓을 나타냅니다 대해 신중하게 생각을 다시 얻을 수 무지 힘을 찾습니다. . .

전자 대법은 좋다!

깊은 생각의 기간 (얽힌 긴 투쟁, 빠른 구토 혈액), (╯▔ ^ ▔) ╯ 밖으로 전자의 사용이 어려움을 최소화 할 수 있음 (후에 원래 백 오피스 애플리케이션을하게 제시하는 것,하지만 내 직감이 나를 어떻게 간단한 지시했다 단지 브라우저 호환 호환성 문제 (제거하는 방법), 사용 웹 기술 개발 (효율 캐리을 수행), 당신은) nodejs 모듈 (지원 큰 상품의 엄청난 수의 이점을 취할 수있는 모든 행복을 듣고하는 아입니다 ). 다음은 전자 개발을 선택하는 이유가 있습니다.

어떻게 업데이트에

이 클라이언트 업데이트를 확인하고 싶어하면 전체 응용 프로그램 업데이트, 개발 패키지 압축 72M의 기본 완료 후 (자세한 패키지에 따라 어떤 최적화를 수행하지 node_modules는 20M를 가지고 압축 후) 경우 큰 문제가있다, 그것은 위대한로 간주되어야한다. 최초의 분포가 실제로 아무 것도 문제이지만, 모든 경우에 전체 응용 프로그램을 수동으로 업데이트를하는 사업자, 확실히 불행 연산자를 허용하고, 앞으로 프로그램을 넣어야 할 경우 자동으로 업데이트합니다.
Github의에서 문서를 읽어, 특별한 일이 자동 업데이트 소개입니다  포털 , 전자 팀은 또한 매우 가까운, 솔루션 시리즈이지만, 키가 큰 (난 그냥 간단하게 필요하므로 기술에 액세스 할 수 느꼈다 거기에 약간), 좋은 (╯▔ ^ ▔) ╯, 자신의 라인을 결정하고 밖으로 설정합니다.
전자 패키지 응용 프로그램 중 첫째, 전자 패키저의 사용은, (회사가 포장 할 수 있습니다 Windows 전용 창,하지만 과정을 포장하는 것은 시간이 많이 걸리는 꽤 있기 때문에, 시간이 대부분 복사에 소요되는 폴더를 node_modules)는 전자 패키저를 쉽게 찾을 수 우리는 폴더 node_modules의 내용을 복사 할 필요가없는 경우 사실, 템플릿을 생성 단지 (사실, 일반적으로 node_modules 자주 변경되지 않습니다) 많이 증가 속도, 포장, 내용의 변화를 다음 각 폴더 리소스의 내용을 변경 , 그리고 미래의 업데이트 있도록 업데이트는 src 디렉토리가 매우 빠르고, 구상 node_modules SRC (코드) 별도 포장하기 시작했다.

ASAR 파일

전자 문서를 볼 때, 전자 내부가 파일 형식을 지원 ASAR이라고보고, 결국 그 ASAR는 다음과 같은 종류의 형식으로는, Github에서 공식 설명이 무엇이다 :

ASAR은 랜덤 액세스를 지원하면서이 함께 압축없이 모든 파일을 연결 타르처럼 작동, 간단한 광범위한 아카이브 형식입니다.

이 파일 형식이 매우 중요한 포인트가, 내부에 액세스 할 수있는 파일 폴더로 사용할 수 있습니다, 압축 단순히 함께 파일을 구성하는 볼, 그리고 수는 없습니다 만 쓸 읽을 수 있습니다.
node_modules 및 SRC의 아이디어를 제공 할 것입니다이 형식 src.asar 다시 만들어 내부에 node_modules.asar 및 src.asar, 응용 프로그램이 시작될 직접 해당 src.asar 파일을 필요로 코드 실행으로 포장된다 창 및 페이지를로드합니다.
그런 다음 업데이트는 node_modules.asar 업데이트하고이 경우,이 두 문서를 src.asar 적용 당신이 코드에 대한 작은 크기의 종류를 (할 수있는 더 높은 요구 사항이있는 경우, 업데이트의 전체 크기는 물론, 감소 업데이트 파일 레벨)를 다시 생각해야하지만, 내 현재 시나리오에 충분하다 할 수있다.

리틀 문제

즉, 모듈 네팔 내부 node_modules.asar 찾는 방법에 약간의 문제, 코드 내부 src.asar가, 내가 사용하는 방법에 대해 게시 된 모듈 검색 경로에 배치 node_modules.asar 방법 :

require('module').globalPaths.unshift(require('path').join(process.cwd(), 'resources/node_modules.asar'));

만큼 globalPaths을 적용, 먼저 배치로 (더 빨리 찾을 수 있습니다).

업데이트 된 프로그램에 따르면,이 프로젝트의 디렉토리 구조 내 세 가지 주요 프로젝트 폴더에 약간의 변화를 할 필요가 : 응용 프로그램, node_modules, SRC를. 응용 프로그램 카탈로그의 코드를 아래도없이 말할 node_modules 및 SRC, 이제 당신이 어떤 네팔를 ​​수행 할 작업을 결국

1. 先检查有没有文件需要更新,如果有弹出更新窗口(代码先请求一个manifest.json文件,里面有文件的MD5,用现有的文件做对比)
跳到2,没有就跳到3
2. 依次下载对应的文件,例如:src.asar.update, node_modules.asar.update,下载完成后,直接替换旧的文件
3. 最后require('src.asar').createApp()创建主界面,现在就能保证应用启动时都是最新的代码(只要下载没出问题)

간단한 솔루션은 사업자가 업데이트 문제를 불평하지 않았다 그래서 모든 사람은 행복하다. 물론, 실제 사용자 시나리오의 얼굴, 그리고 재 학습 (╯▔ ^ ▔)를 ╯ 개선 후 천천히, 장소의 부족이 있어야합니다.

 
가기 좋은 텍스트  내 관심사  용지 모음   

그러나 게시 할 수있는 개발을 통해 이동 영업 활동은, 자신의 운영 효율성에 영향을 미치는 (╮ (╯ ▽ ╰) ╭), 명령 발행 개발하기 시작했다 : 드래그하여 (° 'Д'° ° 모듈에 기대하는 것은, 당신이 (활동을 생성 할 수 있습니다 ) ° 일반적으로, 그것은 당신에게 너무 많은 공간, 좋은 플레이를 제공하도록 설계되었습니다,뿐만 아니라, 그것은 상호 작용하는) H5 형 마카이 생성 도구를 이해할 수있는 좋은 작업 플러스 치킨을 할 수 있습니다. ╮ (╯ ▽ ╰) ╭,이 짓을 나타냅니다 대해 신중하게 생각을 다시 얻을 수 무지 힘을 찾습니다. . .

전자 대법은 좋다!

깊은 생각의 기간 (얽힌 긴 투쟁, 빠른 구토 혈액), (╯▔ ^ ▔) ╯ 밖으로 전자의 사용이 어려움을 최소화 할 수 있음 (후에 원래 백 오피스 애플리케이션을하게 제시하는 것,하지만 내 직감이 나를 어떻게 간단한 지시했다 단지 브라우저 호환 호환성 문제 (제거하는 방법), 사용 웹 기술 개발 (효율 캐리을 수행), 당신은) nodejs 모듈 (지원 큰 상품의 엄청난 수의 이점을 취할 수있는 모든 행복을 듣고하는 아입니다 ). 다음은 전자 개발을 선택하는 이유가 있습니다.

어떻게 업데이트에

이 클라이언트 업데이트를 확인하고 싶어하면 전체 응용 프로그램 업데이트, 개발 패키지 압축 72M의 기본 완료 후 (자세한 패키지에 따라 어떤 최적화를 수행하지 node_modules는 20M를 가지고 압축 후) 경우 큰 문제가있다, 그것은 위대한로 간주되어야한다. 최초의 분포가 실제로 아무 것도 문제이지만, 모든 경우에 전체 응용 프로그램을 수동으로 업데이트를하는 사업자, 확실히 불행 연산자를 허용하고, 앞으로 프로그램을 넣어야 할 경우 자동으로 업데이트합니다.
Github의에서 문서를 읽어, 특별한 일이 자동 업데이트 소개입니다  포털 , 전자 팀은 또한 매우 가까운, 솔루션 시리즈이지만, 키가 큰 (난 그냥 간단하게 필요하므로 기술에 액세스 할 수 느꼈다 거기에 약간), 좋은 (╯▔ ^ ▔) ╯, 자신의 라인을 결정하고 밖으로 설정합니다.
전자 패키지 응용 프로그램 중 첫째, 전자 패키저의 사용은, (회사가 포장 할 수 있습니다 Windows 전용 창,하지만 과정을 포장하는 것은 시간이 많이 걸리는 꽤 있기 때문에, 시간이 대부분 복사에 소요되는 폴더를 node_modules)는 전자 패키저를 쉽게 찾을 수 우리는 폴더 node_modules의 내용을 복사 할 필요가없는 경우 사실, 템플릿을 생성 단지 (사실, 일반적으로 node_modules 자주 변경되지 않습니다) 많이 증가 속도, 포장, 내용의 변화를 다음 각 폴더 리소스의 내용을 변경 , 그리고 미래의 업데이트 있도록 업데이트는 src 디렉토리가 매우 빠르고, 구상 node_modules SRC (코드) 별도 포장하기 시작했다.

ASAR 파일

전자 문서를 볼 때, 전자 내부가 파일 형식을 지원 ASAR이라고보고, 결국 그 ASAR는 다음과 같은 종류의 형식으로는, Github에서 공식 설명이 무엇이다 :

ASAR은 랜덤 액세스를 지원하면서이 함께 압축없이 모든 파일을 연결 타르처럼 작동, 간단한 광범위한 아카이브 형식입니다.

이 파일 형식이 매우 중요한 포인트가, 내부에 액세스 할 수있는 파일 폴더로 사용할 수 있습니다, 압축 단순히 함께 파일을 구성하는 볼, 그리고 수는 없습니다 만 쓸 읽을 수 있습니다.
node_modules 및 SRC의 아이디어를 제공 할 것입니다이 형식 src.asar 다시 만들어 내부에 node_modules.asar 및 src.asar, 응용 프로그램이 시작될 직접 해당 src.asar 파일을 필요로 코드 실행으로 포장된다 창 및 페이지를로드합니다.
그런 다음 업데이트는 node_modules.asar 업데이트하고이 경우,이 두 문서를 src.asar 적용 당신이 코드에 대한 작은 크기의 종류를 (할 수있는 더 높은 요구 사항이있는 경우, 업데이트의 전체 크기는 물론, 감소 업데이트 파일 레벨)를 다시 생각해야하지만, 내 현재 시나리오에 충분하다 할 수있다.

리틀 문제

즉, 모듈 네팔 내부 node_modules.asar 찾는 방법에 약간의 문제, 코드 내부 src.asar가, 내가 사용하는 방법에 대해 게시 된 모듈 검색 경로에 배치 node_modules.asar 방법 :

require('module').globalPaths.unshift(require('path').join(process.cwd(), 'resources/node_modules.asar'));

만큼 globalPaths을 적용, 먼저 배치로 (더 빨리 찾을 수 있습니다).

업데이트 된 프로그램에 따르면,이 프로젝트의 디렉토리 구조 내 세 가지 주요 프로젝트 폴더에 약간의 변화를 할 필요가 : 응용 프로그램, node_modules, SRC를. 응용 프로그램 카탈로그의 코드를 아래도없이 말할 node_modules 및 SRC, 이제 당신이 어떤 네팔를 ​​수행 할 작업을 결국

1. 先检查有没有文件需要更新,如果有弹出更新窗口(代码先请求一个manifest.json文件,里面有文件的MD5,用现有的文件做对比)
跳到2,没有就跳到3
2. 依次下载对应的文件,例如:src.asar.update, node_modules.asar.update,下载完成后,直接替换旧的文件
3. 最后require('src.asar').createApp()创建主界面,现在就能保证应用启动时都是最新的代码(只要下载没出问题)

간단한 솔루션은 사업자가 업데이트 문제를 불평하지 않았다 그래서 모든 사람은 행복하다. 물론, 실제 사용자 시나리오의 얼굴, 그리고 재 학습 (╯▔ ^ ▔)를 ╯ 개선 후 천천히, 장소의 부족이 있어야합니다.

추천

출처www.cnblogs.com/drggvxcvx13/p/12513835.html