尝试 运行 电子应用程序时找不到模块应用程序

Cannot find module app when trying to run electron app

我看到过其他关于这个的问题,但不一样。

Windows 7 x64 节点 6.6.0 电子 1.4.1 npm 3.19.8

我的问题是,如果我 运行 npm start 调用 package.json 中定义的 electron .,应用程序 运行 没问题。但是,如果我只是尝试 运行 electron . 然后我得到上面的错误 "Cannot find module app"

我想一定是路径相关,但我想不通。 npm start 是 运行ning 同一个命令,我在 main.js 所在的根文件夹中 运行ning 这两个命令。我也尝试过显式调用 electron main.js 并出现相同的错误。

另一个注意事项:当我 运行 使用 Phpstorm 的调试会话时,它 运行 成功了。调试配置,Node interpreter = electron.cmd and Javascript File = main.js

package.json 根据要求

{
  "name": "demoelectronaureliamongodb",
  "title": "Demo Electron ES6, Aurelia MongoDB",
  "version": "1.0.0",
  "description": "Thick client demo app showing Electron, ES6, Aurelia, and MongoDB working together.",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "build-mac": "electron-packager . 'DemoElectronAureliaMongoDB' --platform=darwin --arch=x64 --version=0.35.1 --overwrite --out ./build/mac",
    "build-win": "electron-packager . 'DemoElectronAureliaMongoDB' --platform=win32 --arch=ia32 --version=0.35.1 --overwrite --out ./build/win"
  },
  "author": "",
  "homepage": "http://karlshifflett.wordpress.com",
  "license": "MIT",
  "keywords": [
    "electron",
    "aurelia",
    "es6",
    "mongodb"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/Oceanware/demoelectronaureliamongodb.git"
  },
  "devDependencies": {
    "electron-packager": "^5.1.1",
    "electron-prebuilt": "^0.35.1"
  },
  "jspm": {
    "directories": {
      "baseURL": "src"
    },
    "dependencies": {
      "aurelia-bootstrapper": "npm:aurelia-bootstrapper@^1.0.0-beta.1",
      "aurelia-framework": "npm:aurelia-framework@^1.0.0-beta.1.0.2",
      "font-awesome": "npm:font-awesome@^4.4.0"
    },
    "devDependencies": {
      "babel": "npm:babel-core@^5.8.24",
      "babel-runtime": "npm:babel-runtime@^5.8.24",
      "core-js": "npm:core-js@^1.1.4"
    }
  }
}

main.js

(function () {
    /**
     * Main Electron process
     */

    'use strict';
    const electron = require('electron')
// Module to control application life.
    const app = electron.app
// Module to create native browser window.
    const BrowserWindow = electron.BrowserWindow


   // var app = require('app');
   // var BrowserWindow = require('browser-window');
    var applicationMenu = require('./browser/application-menu');

    var mainWindow = null;

    app.on('ready', function () {

        global.aureliaRoot = __dirname  + '/src/';

        applicationMenu.setup();

        mainWindow = new BrowserWindow({
            width: 900,
            height: 700,
            "min-width": 400,
            "min-height": 300,
            center: true,
            resizable: true
        });

        mainWindow.loadUrl('file://' + __dirname + '/src/index.html');

    });
})();

我做了以下更改来解决问题:

const {app,BrowserWindow} =require('electron')

app.on('ready',function(){
    var mainWindow= new BrowserWindow({
        height:600,
        width:600
    })
})