記述量の少ない解決方法を見つけたので、備忘録を兼ねて共有します。
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 件のコメント :
コメントを投稿