[Electron] Hello World的なもの(3) パッケージングで作ったプロジェクトをベースにSqlite3を使うプロジェクトを作ってみる。
Sqlite3をインストールする。
npm install sqlite3 -S
npm install @types/sqlite3 -D
electron-rebuildをインストールする。
npm install electron-rebuild -D
electron-rebuildはネイティブコードを含むモジュールをElectronで使えるようにリビルドするツールだ。
インストール後、electron-rebuildを実行してリビルドする。
npx electron-rebuild -f
sqlite3を含めないようにwebpackの設定を変更する。次のようにexternalsを追加する。
externals: {
sqlite3: "commonjs sqlite3"
}
これでとりあえず準備完了。
レンダラープロセスでsqlite3を使う。ここはアップロードしたソースを参照してくれ。
これで、
npm run build
でビルドして、
npm run start
で実行できる。
元のプロジェクトでは、ビルド後、実行するのに必要なファイルをdistフォルダに作られるようにしたが、sqlite3のモジュールがdistフォルダには用意されていないので、パッケージングするには、distフォルダにsqlite3のモジュールをインストールする必要がある。
src/package.jsonのdependenciesのsqlite3を追加する。
ビルド後、distフォルダでnpm install
を実行してプロジェクトのフォルダでnpx electron-rebuild -f -m dist/
を実行してモジュールをリビルする。
これでelectron-packagerでパッケージングする準備ができたので、electron-packagerでパッケージングする。
変更したソースをダウンロードできるようにしといた。
と、書いたところで、WindowsとLinuxも試しとかんと、と思いためてしてみると・・・
Windowsでうまいこといかん!
Windowsの場合は、管理者として実行したコマンドプロンプトでnpm install --global --production windows-build-tools
を実行し、windows-build-toolsをインストールすればいいらしいんだけど、うちのWindowsでは途中で止まっていつまでたっても(一晩待った)終わらなかった。そのうち調べて解決しないと・・・
あと、Windowsの場合って書いたけど、macOS、Linuxの場合もCコンパイラやPythonなんかが必要なんでインストールする必要がある。Pythonは標準で入ってそうだけど。
楽天Kobo
![]() Electronではじめるアプリ開発 〜JavaScript/HTML/CSSでデスクトップアプリを作ろう【電子書籍】[ 野口将人 ] |
コメント