WebStormでangular-electronを使ったアプリをデバッグ実行する設定
angular-electronを利用して、Angular & TypeScript で開発を行う際に Web Storm 上でのデバッグ実行をする方法のメモです。
試行錯誤しながらなので、最適化されていないかもしれません。
前提条件
実行環境
- OS: Windows
- Node: v8.9.3 (Nodistでインストール)
- NPM: v5.5.1
- WebStorm: v2018.1.4
使用バージョン
- angular-electron: v4.1.0
- Angular: v6.0.5
- Electron: v2.0.3
下準備
git clone https://github.com/maximegris/angular-electron.git your-app-name
cd (path/to/project)
npm install # 固まったままわりと時間がかかるかもしれないが気長に待つ
npm start
アプリケーション名の変更、Gitリポジトリの初期化などは適宜行っておく。
描画プロセスのデバッグ実行設定
ソースの修正
-
package.json
-scripts
-electron:serve
の末尾に--remote-debugging-port=9222
を追加する。
{
...,
--- "electron:serve": "wait-on http-get://localhost:4200/ && npm run electron:tsc && electron .,
+++ "electron:serve": "wait-on http-get://localhost:4200/ && npm run electron:tsc && electron . --serve --remote-debugging-port=9222",
...,
}
-
main.ts
内でDevToolを開いている部分を削除orコメントアウトする。
// win.webContents.openDevTools();
DevToolが開いている状態だと、後にデバッグ実行した際に以下のようなエラーが表示される。
Another debugger is attached, please ensure that DevTools is closed or restart application to force detach
ソース上で無効化せずにDevToolを閉じてからデバッグ実行するのでもOK。
WebStorm上の設定
Run -> Edit Configurations -> + -> Attach to Node.js/Chrome
- Name: 任意 (e.g. electron-render)
- Port: 9222 (
package.json
の--remote-debugging-port
と同じにする) - 残りはDefaultでOK
デバッグ実行 (動作確認)
- ターミナルで
npm start
を実行する。 /scr/app/components/home/home.component.ts
のngOnInit()
の行にブレークポイントを打つ。
アプリケーション上で
Ctrl+R
でアプリをリロードした際に、ブレークポイントで止まればOK。
Another debugger is attached
のエラーが出た場合は、DevToolsが表示されていないかどうか、他のプロセスが残っていないかなどを確認する。
メインプロセスのデバッグ実行設定
描画プロセス(Angular部分)だけで十分ならばこの設定はしなくてもよい。
ソースの修正
-
package.json
-scripts
-electron:tsc
の末尾に--sourceMap true
を追加する。
{
...,
--- "electron:tsc": "tsc main.ts
+++ "electron:tsc": "tsc main.ts --sourceMap true",
...,
}
- 上記の設定によりプロジェクト直下にマップファイルが生成されるようになるため、
.gitignore
の設定を追加する
...
main.js
+++ main.js.map
...
WebStorm上の設定
Run -> Edit Configurations -> + -> Node.js
- Name: 任意 (e.g. electron-main)
- Node interpreter: (path\to\project)\node_modules.bin\electron.cmd
- Node parameters: .
- Working directory: (path\to\project)
- JavaScript file: dist\main.js
- Application parameters: --remote-debugging-port=9222
- 残りはDefaultでOK
- Windowsの場合、
Node interpreter
は必ず.cmd
を手で打つか、node_modules\electron\dist\electron
にする。Application parameters
の--remote-debugging-port=9222
は、そのまま描画プロセスのデバッガをアタッチしたい場合に設定。
デバッグ実行 (動作確認)
- ターミナルで
npm run build
を実行する。 -
/main.ts
の適当な部分にブレークポイントを打っておく。 -
electron-main
を選択してDebug
ボタンを押す。 - アプリケーションが立ち上がる前にブレークポイントで止まればOK。
- その後描画プロセスのデバッグをしたい場合は、
electron-render
も追加でデバッグ実行すればよい。
ただしこの場合は Hot Reload にはならない。
その他便利かもしれない設定
Coding Assistance
以下でNode.js core APIs
用のコードアシスタンスを利用できる
Settings -> Languages & Frameworks -> Node.js and NPM -> ✓ Coding assistance for Node.js
npm startと描画プロセスのデバッグを自動で実行する
electron-render
の前にnpm start
を実行するようにしておけば、いちいち別々に実行する必要がなくなる。
Run -> Edit Configurations -> + -> Node.js
で図のように設定(Node/NPMのパスはNodist利用の場合)
Run -> Edit Configurations -> + -> Compound
で上記で作成したnpm start
とelectron-render
を追加する。
上で作成した実行設定を選択してデバッグ実行すると、
npm start
とelectron-render
が同時に実行される。
参考
https://github.com/maximegris/angular-electron/issues/84#issuecomment-357424682
http://blog-test123.jetbrains.com/webstorm/2016/05/getting-started-with-electron-in-webstorm/
Author And Source
この問題について(WebStormでangular-electronを使ったアプリをデバッグ実行する設定), 我々は、より多くの情報をここで見つけました https://qiita.com/Ruijihin/items/7047f2f11a96fc27585a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .