LoginSignup
3
3

More than 5 years have passed since last update.

Electronを実行するとdefault_app.jsが動く場合に疑ってみるポイント。

Posted at

Electronの公式チュートリアル を見ながらHello Worldを作ってみたのですが、以下のようなエラーダイアログが表示されました。

A JavaScript error occurred in the main process

Uncaught Exception:
SyntaxError: missing ) after argument list
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:413:25)
    at Object.Module._extensions..js (module.js:448:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Object.<anonymous> (/Users/foo/.nvm/v0.12.4/lib/node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/default_app/main.js:235:23)
    at Module._compile (module.js:430:26)
    at Object.Module._extensions..js (module.js:448:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)

スタックトレースを見て気になったのは、electron-prebuiltのdefault_app/main.jsが実行されていることでした。
そこで、package.jsonのmain(エントリポイント)の指定が間違っているのかと思い、色々試してみたのですが、エラーは変わりませんでした。

下記の該当箇所を見ても SyntaxError: missing ) after argument list は関係なさそうです。

default_app/main.js#235
require('module')._load(packagePath, module, true);

ぐぐっても原因&解決策を見つけられなかったので、とりあえずパッケージングして作成されたアプリを起動してみました。
すると、自分が書いたmain.jsのスタックトレースが表示されました。
エントリポイントに指定したファイルでエラーがあった場合には、それをElectron本体がキャッチして代わりにdefault_app/main.jsを実行するようになっているのかもしれません。

ちなみにエラー自体は

- app.on('ready', fnction() {
+ app.on('ready', function() {

というしょうもないものでした。。。

3
3
0

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
3
3