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を使おう