electronでwindows向けアプリを作ってみた時の注意点
・当たり前といえば当たり前だが、ウインドウサイズ変更時に画面を引き伸ばしたりなどはしてくれない。このようなjsを読み込ませるようにして対応。
https://gist.github.com/kuniakisuzuki/772e8538a79246d1977c1887a25d035c
・jquery動かない問題
<script type="text/javascript" src="./js/jquery-3.4.1.min.js"></script>
↓
window.jQuery = window.$ = require('./js/jquery-3.4.1.min.js');
みたいに書き換え。
・packagerでパッケージングして、そのexeから動かした時のみの挙動だが、
例えばある階層の画像ファイルを全てリスト化したい、といった場合、
var path = require('path');
var pathFile = path.join(__dirname, "image/");
var fs = require('fs');
if (!fs.existsSync(pathFile)) {
alert("画像データフォルダが見つかりません。「" + pathFile + "」に存在しているか、確認してください");
return;
}else{
var files = fs.readdirSync(pathFile);
}
みたいな感じで、pathを、require('path')を使ってフルパスで作成しないと、fs関数に渡した時に、常にファイルが無いと言われてしまった。(html的な相対パスではだめで、pcから見た場合の絶対パスを渡さないとだめなのかもしれない)
・electronをパッケージングする設定を書くmain.jsの、
new BrowserWindowmへ渡すwebPreferencesオプションで、
webPreferences: {
..
nodeIntegration: true
}
みたいに、nodeIntegration: trueを入れないと、require('fs')がなどのrequire関数が使えなかった。