Electron

ElectronのクイックスタートでCannot find module 'app'にハマった件

More than 1 year has passed since last update.


Error: Cannot find module 'app'でハマる

下記を参考にElectronをインストールして実行しようとしていたところ、

electronのインストールでコケた時の解決方法 on OS X

30分で出来る、JavaScript (Electron) でデスクトップアプリを作って配布するまで

ずっとこのエラーでハマってしまった...

App threw an error during load

Error: Cannot find module 'app'
at Module._resolveFilename (module.js:438:15)
at Function.Module._resolveFilename (/usr/local/lib/node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/electron.asar/common/reset-search-paths.js:47:12)
at Function.Module._load (module.js:386:25)
at Module.require (module.js:466:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Applications/MAMP/htdocs/app/index.js:1:90)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)
at tryModuleLoad (module.js:415:12)

npm-install-missingなども試すもダメ...


解決

変数宣言部分を変更。

"use strict";

const electron = require("electron");
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
let mainWindow;

// 全てのウィンドウが閉じたら終了
app.on('window-all-closed', function() {
if (process.platform != 'darwin') {
app.quit();
}
});

// Electronの初期化完了後に実行
app.on('ready', function() {
// メイン画面の表示。ウィンドウの幅、高さを指定できる
mainWindow = new BrowserWindow({width: 800, height: 600});
mainWindow.loadURL('file://' + __dirname + '/index.html');

// ウィンドウが閉じられたらアプリも終了
mainWindow.on('closed', function() {
mainWindow = null;
});
});

Electronのバージョンが変わって

宣言の仕方が変わったって感じですかね。

JavaScript自体も初心者レベルでElectronも初めて触ります。

「その宣言おかしいよ」

「それって当たり前じゃね?」

「◯◯で解決した方がいいよ」

等あればご指摘お願いいたします。


参考

electronのインストールでコケた時の解決方法 on OS X

30分で出来る、JavaScript (Electron) でデスクトップアプリを作って配布するまで

ドットインストールでElectron講座を期間限定で無償で公開していたので視聴して実際試した