Posted at

electron-builderで詰まったこと


はじめに

electron-builderの記事古いーーーーー!!!!!

ということで自給自足する

まあ難しいことはないんだけどこの記事で助けられる人はいる(はず)


node_modulesがない

そう、無いんですよ(全肯定)

参考になったのはこの記事

ソースコードは読みたくないのでありがたい...

完結にいうと「node_modules」が消されるとのこと

そのためsemantic-ui-lessをインストールする必要がある

とりあえずnpmで突っ込んで使いましょう

これでnode_modulesがapp.asarに入ります


あれ?ないやつもあるけども

そう、無いんですよ(全肯定)

electronでサポートしてないものは消される感じ

なので使うモジュールはpackage.jsonのdependenciesに書くべし

自分ならtwitterを使うので


packege.json

 "dependencies": {

"twitter": "^1.7.1"
}

てな感じで

これでnode_modulesにファイルが入ります

このおかげでいらないやつは削除されるのでremoveし忘れても大丈夫ですよ奥さん!!!


コンパイルできない

そう、できないんですよ、昔の記事ならね(全肯定)


Electronでアプリビルドまでのフロー


多分検索して一番最初にでてくるこの記事を見ると思います

新しい記事だし信用性は高いですね

この記事で紹介されてるbuild-win.jsは次の通り


build-win.js

const builder = require('electron-builder');

builder.build({
platform: 'win',
config: {
'appId': 'local.test.app1',
'win':{
'target': {
'target': 'zip',
'arch': [
'x64',
'ia32',
]
}
}
}
});


これです

でもこれ今だとエラーでるんですよね

原因は簡単、使えないものがあるからです

electron-builderのgithubを見たらわかる通り大分使えなくなってます

特にplatformは気づきにくいですよね

よって変更したのが下


build-win.js

const builder = require('electron-builder');

builder.build({
config: {
'appId': 'local.test.app1',
'win':{
'target': 'zip'
}
}
});


いやーすっきり


さいごに

electron-packagerは下位互換っぽいですね

配布するならelectron-builderを使おう