記述量の少ない解決方法を見つけたので、備忘録を兼ねて共有します。
webpackでビルドしたelectronのmainプロセスを実行すると、こんなエラーが出ました。
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Please install sqlite3 package manually
at ConnectionManager._loadDialectModule ..
at new ConnectionManager ..
at new SqliteDialect ..
at new Sequelize ..
..
webpackのexternalsにsqlite3を含めると良いという情報を多く見つけたのですが、それでは解決しませんでした。
「webpack externals sqlite3」で検索していると、「sequelizeを使っている場合はwebpack configのexternalsにsequelizeを追加してみて」という書き込みを見つけました。
can not pack sequelize with sqlite3
module.exports = {
// other configs ..
externals: {
"sequelize": "require('sequelize')",
},
}
そのように記述してみたら見事動きました。
sqliteのエラーが出ますが、実はsequelizeの処理で詰まるために動かなかったように推測します。
原因を深くは追っていませんが、よりあえず動くようになって良かったです。
同様の内容をstack overflowにも投稿しました。
ElectronJs: please install sqlite3 package manually

0 件のコメント :
コメントを投稿