📝 Update Korean docs as upstream
[ci skip]
This commit is contained in:
parent
d234467682
commit
41f99187e7
5 changed files with 105 additions and 56 deletions
|
@ -280,6 +280,32 @@ GPU가 작동하던 중 크래시가 일어났을 때 발생하는 이벤트입
|
|||
모든 윈도우는 사용자의 동의 여부에 상관없이 즉시 종료되며 `before-quit` 이벤트와
|
||||
`will-quit` 이벤트가 발생하지 않습니다.
|
||||
|
||||
### `app.relaunch([options])`
|
||||
|
||||
* `options` Object (optional)
|
||||
* `args` Array (optional)
|
||||
* `execPath` String (optional)
|
||||
|
||||
현재 인스턴스가 종료되면 어플리케이션을 재시작합니다.
|
||||
|
||||
기본적으로 새 인스턴스는 같은 작업 디렉토리의 것과 함께 현재 인스턴스의 명령줄 인수를
|
||||
사용합니다. 만약 `args`가 지정되면, `args`가 기본 명령줄 인수 대신에 전달됩니다.
|
||||
`execPath`가 지정되면, 현재 어플리케이션 대신 `execPath`가 실행됩니다.
|
||||
|
||||
참고로 이 메서드는 어플리케이션을 종료하지 않으며, 어플리케이션을 다시 시작시키려면
|
||||
`app.relaunch`를 호출한 후 `app.quit` 또는 `app.exit`를 실행해주어야 합니다.
|
||||
|
||||
`app.relaunch`가 여러 번 호출되면, 현재 인스턴스가 종료된 후 여러 인스턴스가
|
||||
시작됩니다.
|
||||
|
||||
다음은 현재 인스턴스를 즉시 종료시킨 후 새로운 명령줄 인수를 추가하여 새
|
||||
인스턴스의 어플리케이션을 실행하는 예시입니다:
|
||||
|
||||
```javascript
|
||||
app.relaunch({args: process.argv.slice(1) + ['--relaunch']})
|
||||
app.exit(0)
|
||||
```
|
||||
|
||||
### `app.focus()`
|
||||
|
||||
Linux에선, 첫 번째로 보여지는 윈도우가 포커스됩니다. OS X에선, 어플리케이션을 활성화
|
||||
|
@ -445,16 +471,6 @@ Windows에서 사용할 수 있는 JumpList의 [Tasks][tasks] 카테고리에 `t
|
|||
아이콘을 가지고 있을 경우, 사용할 아이콘의 인덱스를 이 옵션으로 지정해 주어야 합니다.
|
||||
단, 아이콘을 하나만 포함하고 있는 경우 0을 지정하면 됩니다.
|
||||
|
||||
### `app.allowNTLMCredentialsForAllDomains()`
|
||||
|
||||
항상 동적으로 HTTP NTLM 또는 Negotiate 인증에 자격 증명을 보낼 것인지 설정합니다.
|
||||
|
||||
기본적으로 Electron은 "로컬 인터넷" 사이트 URL에서 NTLM/Kerberos 자격 증명만을
|
||||
보냅니다. (같은 도메인 내에서) 그러나 기업 네트워크가 잘못 구성된 경우 종종 작업에
|
||||
실패할 수 있습니다. 이때 이 메서드를 통해 모든 URL을 허용할 수 있습니다.
|
||||
|
||||
**참고:** 이 메서드는 `ready` 이벤트가 발생하기 전에 호출해야 합니다.
|
||||
|
||||
### `app.makeSingleInstance(callback)`
|
||||
|
||||
* `callback` Function
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
다음 프로젝트 중 하나를 선택하여, 어플리케이션을 배포하기 위한 멀티-플랫폼 릴리즈
|
||||
서버를 손쉽게 구축할 수 있습니다:
|
||||
|
||||
- [nuts][nuts]: *어플리케이션을 위한 똑똑한 릴리즈 서버이며 GitHub를 백엔드로
|
||||
사용합니다. Squirrel을 통해 자동 업데이트를 지원합니다. (Mac & Windows)*
|
||||
- [electron-release-server][electron-release-server]: *완벽하게 모든 기능을
|
||||
지원하는 electron 어플리케이션을 위한 자가 호스트 릴리즈 서버입니다. auto-updater와
|
||||
호환됩니다*
|
||||
|
@ -117,3 +119,4 @@ Returns:
|
|||
[app-user-model-id]: https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx
|
||||
[electron-release-server]: https://github.com/ArekSredzki/electron-release-server
|
||||
[squirrel-updates-server]: https://github.com/Aluxian/squirrel-updates-server
|
||||
[nuts]: https://github.com/GitbookIO/nuts
|
||||
|
|
|
@ -95,6 +95,24 @@ resolver, http 프록시 연결의 `CONNECT`, `SOCKS` 프록시 연결의 endpoi
|
|||
|
||||
`--host-rules` 플래그와 비슷하지만 이 플래그는 host resolver에만 적용됩니다.
|
||||
|
||||
## --auth-server-whitelist=`url`
|
||||
|
||||
통합 인증을 사용하도록 설정할 쉼표로 구분된 서버의 리스트.
|
||||
|
||||
예를 들어:
|
||||
|
||||
```
|
||||
--auth-server-whitelist='*example.com, *foobar.com, *baz'
|
||||
```
|
||||
|
||||
그리고 모든 `example.com`, `foobar.com`, `baz`로 끝나는 `url`은 통합 인증을
|
||||
사용하도록 설정됩니다. `*` 접두어가 없다면 url은 정확히 일치해야 합니다.
|
||||
|
||||
## --auth-negotiate-delegate-whitelist=`url`
|
||||
|
||||
필수적인 사용자 자격 증명을 보내야 할 쉼표로 구분된 서버의 리스트.
|
||||
`*` 접두어가 없다면 url은 정확히 일치해야 합니다.
|
||||
|
||||
## --ignore-certificate-errors
|
||||
|
||||
인증서 에러를 무시합니다.
|
||||
|
|
|
@ -323,6 +323,22 @@ session.fromPartition(partition).setPermissionRequestHandler((webContents, permi
|
|||
|
||||
호스트 리소버(resolver) 캐시를 지웁니다.
|
||||
|
||||
#### `ses.allowNTLMCredentialsForDomains(domains)`
|
||||
|
||||
* `domains` String - 통합 인증을 사용하도록 설정할 쉼표로 구분된 서버의 리스트.
|
||||
|
||||
동적으로 HTTP NTML 또는 Negotiate 인증을 위해 언제나 자격 증명을 보낼지 여부를
|
||||
설정합니다.
|
||||
|
||||
```javascript
|
||||
// 통합 인증을 위해 `example.com`, `foobar.com`, `baz`로 끝나는
|
||||
// 모든 url을 지정합니다.
|
||||
session.defaultSession.allowNTLMCredentialsForDomains('*example.com, *foobar.com, *baz')
|
||||
|
||||
// 통합 인증을 위해 모든 url을 지정합니다.
|
||||
session.defaultSession.allowNTLMCredentialsForDomains('*')
|
||||
```
|
||||
|
||||
#### `ses.webRequest`
|
||||
|
||||
`webRequest` API는 생명주기의 다양한 단계에 맞춰 요청 콘텐츠를 가로채거나 변경할 수
|
||||
|
|
|
@ -1,63 +1,59 @@
|
|||
# 개발자 도구 확장 기능
|
||||
# 개발자 도구 확장 기능
|
||||
|
||||
어플리케이션의 디버깅을 쉽게 하기 위해 Electron은 기본적으로
|
||||
[Chrome DevTools Extension][devtools-extension]을 지원합니다.
|
||||
|
||||
개발자 도구 확장 기능은 간단하게 사용할 확장 기능 플러그인의 소스 코드를 다운로드한 후
|
||||
`BrowserWindow.addDevToolsExtension` API를 통해 어플리케이션 내에 로드할 수 있습니다.
|
||||
한가지 주의할 점은 확장 기능 사용시 창이 생성될 때 마다 일일이 해당 API를 호출할 필요는
|
||||
없습니다.
|
||||
Electron은 유명한 웹 프레임워크를 디버깅하기 위해 사용할 수 있는 개발자 도구 확장
|
||||
기능을 사용할 수 있도록 [Chrome 개발자 도구 확장 기능][devtools-extension]을
|
||||
지원합니다.
|
||||
|
||||
**주의: 현재 React DevTools은 작동하지 않습니다. https://github.com/electron/electron/issues/915 이슈를 참고하세요!**
|
||||
## 개발자 도구는 어떻게 로드하나요
|
||||
|
||||
다음 예시는 [React DevTools Extension](https://github.com/facebook/react-devtools)을
|
||||
사용합니다.
|
||||
Electron에 확장 기능을 로드하려면, Chrome 브라우저에서 다운로드 해야 하며, 파일 시스템 경로를 지정해야 합니다. 그리고 `BrowserWindow.addDevToolsExtension(extension)`를 호출함으로써 기능을 로드할 수 있습니다.
|
||||
|
||||
먼저 소스 코드를 다운로드 받습니다:
|
||||
예시로 [React Developer Tools][react-devtools]를 사용한다면:
|
||||
|
||||
```bash
|
||||
$ cd /some-directory
|
||||
$ git clone --recursive https://github.com/facebook/react-devtools.git
|
||||
```
|
||||
1. Chrome 브라우저를 설치합니다.
|
||||
2. `chrome://extensions`로 이동한 후 해시된 `fmkadmapgofadopljbjfkapdkoienihi`
|
||||
같이 생긴 확장 기능의 ID를 찾습니다.
|
||||
3. Chrome에서 사용하는 확장 기능을 저장해둔 파일 시스템 경로를 찾습니다:
|
||||
* Windows에선 `%LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions`;
|
||||
* Linux에선:
|
||||
* `~/.config/google-chrome/Default/Extensions/`
|
||||
* `~/.config/google-chrome-beta/Default/Extensions/`
|
||||
* `~/.config/google-chrome-canary/Default/Extensions/`
|
||||
* `~/.config/chromium/Default/Extensions/`
|
||||
* OS X에선 `~/Library/Application Support/Google/Chrome/Default/Extensions`.
|
||||
4. 확장 기능의 경로를 `BrowserWindow.addDevToolsExtension` API로 전달합니다.
|
||||
React Developer Tools의 경우 다음과 비슷해야 합니다:
|
||||
`~/Library/Application Support/Google/Chrome/Default/Extensions/fmkadmapgofadopljbjfkapdkoienihi/0.14.10_0`
|
||||
|
||||
[`react-devtools/shells/chrome/Readme.md`](https://github.com/facebook/react-devtools/blob/master/shells/chrome/Readme.md)를
|
||||
통해 확장 기능을 개발하는 방법을 알아볼 수 있습니다.
|
||||
확장 기능의 이름은 `BrowserWindow.addDevToolsExtension`에서 반환되며, 이 이름을
|
||||
`BrowserWindow.removeDevToolsExtension` API로 전달함으로써 해당하는 확장 기능을
|
||||
언로드할 수 있습니다.
|
||||
|
||||
그리고 개발자 도구에서 다음 코드를 입력하면 확장 기능을 로드할 수 있습니다:
|
||||
## 지원하는 개발자 도구 확장 기능
|
||||
|
||||
```javascript
|
||||
const BrowserWindow = require('electron').remote.BrowserWindow;
|
||||
BrowserWindow.addDevToolsExtension('/some-directory/react-devtools/shells/chrome');
|
||||
```
|
||||
Electron은 아주 제한적인 `chrome.*` API만을 지원하므로 확장 기능이 지원하지 않는
|
||||
`chrome.*` API를 사용한다면 해당 기능은 작동하지 않을 것입니다. 다음 개발자 도구들은
|
||||
Electron에서 정상적으로 작동하는 것을 확인했으며 작동 여부를 보장할 수 있는 확장
|
||||
기능입니다:
|
||||
|
||||
확장 기능을 언로드 하고 콘솔을 다시 열 때 해당 확장 기능이 로드되지 않도록 하려면
|
||||
`BrowserWindow.removeDevToolsExtension` API를 사용하면 됩니다:
|
||||
* [Ember Inspector](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi)
|
||||
* [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)
|
||||
* [Backbone Debugger](https://chrome.google.com/webstore/detail/backbone-debugger/bhljhndlimiafopmmhjlgfpnnchjjbhd)
|
||||
* [jQuery Debugger](https://chrome.google.com/webstore/detail/jquery-debugger/dbhhnnnpaeobfddmlalhnehgclcmjimi)
|
||||
* [AngularJS Batarang](https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk)
|
||||
* [Vue.js devtools](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
|
||||
|
||||
```javascript
|
||||
BrowserWindow.removeDevToolsExtension('React Developer Tools');
|
||||
```
|
||||
### 개발자 도구가 작동하지 않을 때 어떻게 해야 하나요?
|
||||
|
||||
## 개발자 도구 확장 기능의 구성 형식
|
||||
먼저 해당 확장 기능이 확실히 계속 유지되고 있는지를 확인하세요. 몇몇 확장 기능들은
|
||||
최신 버전의 Chrome 브라우저에서도 작동하지 않습니다. 그리고 이러한 확장 기능에 대해선
|
||||
Electron 개발팀에 해줄 수 있는 것이 아무것도 없습니다.
|
||||
|
||||
모든 개발자 도구 확장은 완벽히 Chrome 브라우저를 위해 작성되었기 때문에 Electron에서도
|
||||
로드할 수 있습니다. 하지만 반드시 확장 기능은 소스 코드 디렉터리(폴더) 형태여야 합니다.
|
||||
그래서 `crx` 등의 포맷으로 패키징된 확장 기능의 경우 사용자가 직접 해당 패키지의 압축을
|
||||
풀어서 로드하지 않는 이상 Electron에서 해당 확장 기능의 압축을 풀 방법이 없습니다.
|
||||
|
||||
## 백그라운드 페이지
|
||||
|
||||
현재 Electron은 Chrome에서 지원하는 백그라운드 페이지(background pages)를 지원하지
|
||||
않습니다. 몇몇 확장 기능은 이 기능에 의존하는 경우가 있는데, 이 때 해당 확장 기능은
|
||||
Electron에서 작동하지 않을 수 있습니다.
|
||||
|
||||
## `chrome.*` API
|
||||
|
||||
몇몇 Chrome 확장 기능은 특정 기능을 사용하기 위해 `chrome.*` API를 사용하는데, 이
|
||||
API들을 구현하기 위해 노력했지만 안타깝게도 아직 모든 API가 구현되지는 않았습니다.
|
||||
|
||||
아직 모든 API가 구현되지 않았기 때문에 확장 기능에서 `chrome.devtools.*` 대신
|
||||
`chrome.*` API를 사용할 경우 확장 기능이 제대로 작동하지 않을 수 있음을 감안해야 합니다.
|
||||
만약 문제가 발생할 경우 Electron의 GitHub 저장소에 관련 이슈를 올리면 해당 API를
|
||||
추가하는데 많은 도움이 됩니다.
|
||||
위와 같은 상황이 아니라면 Electron의 이슈 리스트에 버그 보고를 추가한 후 예상한 것과
|
||||
달리 확장 기능의 어떤 부분의 정상적으로 작동하지 않았는지 설명하세요.
|
||||
|
||||
[devtools-extension]: https://developer.chrome.com/extensions/devtools
|
||||
[react-devtools]: https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi
|
||||
|
|
Loading…
Reference in a new issue