자동 재부팅이 가능한 Electron+parcel 개발 환경을 최소 절차로 구축
5799 단어 parcelJavaScriptElectron
완성물
여기 창고.
이것은 개발 환경으로 원본이 변할 때 자동으로 구축되고 시작된 Electron 응용 프로그램의 내용도 자동으로 다시 불러옵니다.
parcel의 능력을 그대로 활용했기 때문에 타입 스크립트와 ss를 추가하는 것도 쉽다.
노드의 각종 기능도 이용할 수 있다.
사랑을 끊는 일
중점 해설
대수롭지 않은 기술량은 아니지만 마땅한 부분이 많아 일일이 해설한다.
종속성 패키지
package.json
"devDependencies": {
"electron": "^9.2.1",
"electron-reload": "^1.5.0",
"parcel-bundler": "^1.12.4"
},
electron과parcel-bundler는 말할 것도 없어요.electron 측에서 자동 재부팅 필요electron-reload
를 주의하십시오.엔트리 포인트
package.json
"main": "main.js",
주 프로세스의 입구점을 잘못하지 마십시오.필자는 반했기 때문에 먼저 적당한 요점을 적었다.npm scripts
package.json
"scripts": {
"start": "electron .",
"watch": "parcel watch src/index.html --public-url ./ --target electron"
},
npm run watch
의 매개 변수를 주의하십시오.--public-url ./
는 필수입니다.구축된 버전부터 js를 불러올 수 있는 경로가 있는지 여부입니다.-- 공공연한 URL 없음
<script src="/src.e31bb0bc.js"></script>
-- 퍼블릭-url 있음<script src="src.e31bb0bc.js"></script>
또 잊지 마라--target electron
.npm run start
의 한 측은 단순히electron을 시작하고 있다(자동재부팅 기능은main.js에 기술되어 있다).개발을 진행하려면 우선
npm run watch
parcel을 시작하고 이어npm run start
electron을 시작합니다.start,watch는 다른 스크립트입니다.
두 개를 간단히
&&
연결하면 원활하게 진행되지 않는다.concurrently
같은 포장도 하나로 합칠 수 있지만 최소한의 수속이기 때문에 이번에는 얘기하지 않겠습니다.필자는 개인적으로 다른 시나리오 때문에 특별히 괴로워하지 않았다.다음은 주요 과정
main.js
에 대한 해설이다.위에서 말한 바와 같이 이것은 parcel의 구축 대상이 아닙니다. 주의하십시오.electron-reload의 유효성
main.js
require("electron-reload")(path.join(__dirname, "dist"));
electron-reload를 사용하면 디스플레이 아래의 파일이 변경될 때 자동으로 내용을 다시 불러옵니다.parcel로 자동으로 구축된 결과는dist 이하로 출력되며, 이를 검출합니다. 전자론 측에서 다시 싣고 운전하는 것이 이른바 pigora 스위치 방식입니다.
유효성 nodeIntegration
main.js
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true, // ★
},
});
문제의 장면.nodeIntegration: true
에 따르면 안전상의 위험성과 교환은 다양한 일을 가볍게 한다.이번엔 상당히 깔끔하게 최소 수속을 목표로 썼는데 궁금하시면... 힘내세요.이상은 환경 구축의 완성이다.
시험해 보다
우선
npm run watch
parcel을 시작합니다.계속해서 npm run start
전자론을 시작합니다.src/index.) 및 src/index입니다.js를 변경하면 다시 불러올 필요가 있는지 자동으로 확인할 수 있습니다.
최후
창고. MIT 라이센스가 포함되어 있으므로 자유롭게 사용하십시오.만약 무슨 문제가 있으면 평론란에 써 주세요.
Reference
이 문제에 관하여(자동 재부팅이 가능한 Electron+parcel 개발 환경을 최소 절차로 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/eihigh/items/0aaf064014c5b1e72282텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)