尝试 运行 电子应用程序时找不到模块应用程序
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
})
})
我看到过其他关于这个的问题,但不一样。
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
})
})