2016-12-04 65 views
1

嘿,我是Web开发人员,我想为桌面应用程序。我发现了一个名为电子节目我下载它从该页面:electron.atom.io转换Web应用程序与电子的桌面应用程序

接下来,我创建了需要运行该应用程序文件:

的index.html

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="UTF-8"> 
    <title>Hello World!</title> 
    </head> 
    <body> 
    <h1>Hello World!</h1> 
    We are using node <script>document.write(process.versions.node)</script>, 
    Chrome <script>document.write(process.versions.chrome)</script>, 
    and Electron <script>document.write(process.versions.electron)</script>. 
    </body> 
</html> 

然后主。 JS:

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

// Keep a global reference of the window object, if you don't, the window will 
// be closed automatically when the JavaScript object is garbage collected. 
let win 

function createWindow() { 
    // Create the browser window. 
    win = new BrowserWindow({width: 800, height: 600}) 

    // and load the index.html of the app. 
    win.loadURL(url.format({ 
    pathname: path.join(__dirname, 'index.html'), 
    protocol: 'file:', 
    slashes: true 
    })) 

    // Open the DevTools. 
    win.webContents.openDevTools() 

    // Emitted when the window is closed. 
    win.on('closed',() => { 
    // Dereference the window object, usually you would store windows 
    // in an array if your app supports multi windows, this is the time 
    // when you should delete the corresponding element. 
    win = null 
    }) 
} 

// This method will be called when Electron has finished 
// initialization and is ready to create browser windows. 
// Some APIs can only be used after this event occurs. 
app.on('ready', createWindow) 

// Quit when all windows are closed. 
app.on('window-all-closed',() => { 
    // On macOS it is common for applications and their menu bar 
    // to stay active until the user quits explicitly with Cmd + Q 
    if (process.platform !== 'darwin') { 
    app.quit() 
    } 
}) 

app.on('activate',() => { 
    // On macOS it's common to re-create a window in the app when the 
    // dock icon is clicked and there are no other windows open. 
    if (win === null) { 
    createWindow() 
    } 
}) 

// In this file you can include the rest of your app's specific main process 
// code. You can also put them in separate files and require them here. 

和的package.json:

{ 
    "name" : "Test-App", 
    "version" : "0.1.0", 
    "main" : "main.js" 
} 

现在,当我键入CMD

电子。

我得到的误差

“电子”未被识别为内部或外部的命令, 运行的程序或批处理文件。

有没有什么办法可以从没有CMD的应用程序中运行这个程序或者我该如何解决这个问题?

+0

您是否在全球安装了电子设备? 'npm install -g electron' – devilfart

+0

我使用安装程序安装电子而不是使用npm @devilfart –

+0

@ S.Mi Electron没有安装程序,它通过NPM进行分发和安装。您可能下载并安装了包含Electron API演示的Electron API演示应用程序。 –

回答

1

欢迎使用stackoverflow!

您安装的软件包是演示软件包,旨在演示Electron为开发人员提供的不同功能。它现在不适合您的需求。

正如devilfartand Vadim所指出的那样,您需要的是Electron运行时的全局安装。这可以通过启动与管理权限的命令行来实现,并输入以下命令:

npm install -g electron

这是你的基地中的全局包node_modules目录将安装电子运行和能够使用的electron命令。

相关问题