LoginSignup
15

More than 3 years have passed since last update.

electron-builderで詰まったこと

Posted at

はじめに

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15