【发布时间】:2017-02-02 15:15:39
【问题描述】:
我看到过其他关于这个的问题,但不一样。
Windows 7 x64 节点 6.6.0 电子 1.4.1 npm 3.19.8
我的问题是,如果我运行 npm start,它调用我的 package.json 中定义的 electron .,则应用程序运行良好。但是,如果我只是尝试运行electron .,则会收到上述错误“找不到模块应用程序”
我认为它必须与路径相关,但我无法弄清楚。 npm start 正在运行相同的命令,我在 main.js 所在的根文件夹中运行这两个命令。我也尝试过显式调用 electron main.js 时出现同样的错误。
另一个注意事项:当我使用 Phpstorm 运行调试会话时,它会成功运行。调试配置,Node 解释器 = electron.cmd 和 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');
});
})();
【问题讨论】:
-
我们可以看看你的 package.json 吗?
-
你应该更新电子。
-
我安装了最新的“electron-packager”:“^8.0.0”,“electron-prebuilt”:“^1.4.1”。现在,当我运行 pm start 以及运行 electron 时,我得到了相同的错误。
-
我搞定了。我在 main.js 中将 loudUrl 更改为 loadURL,因为它已被弃用。然后在菜单文件中我更改了 app = require('app');菜单 = 要求('菜单');到 const electron = require('electron');常量应用程序=电子.app;菜单=电子。菜单;想知道为什么新方法有效,因为我认为旧方法仍然有效
-
@dan 这些 API 在 Electron v1.0.0 中被删除
标签: javascript node.js electron