2016-12-04 12 views
1

こんにちは、私はウェブ開発者です。デスクトップ用のアプリを作りたいと思っていました。私は、私は、このページからダウンロードした電子という名前のプログラムを発見しました:electron.atom.ioWebアプリを電子化されたデスクトップアプリに変換する

次私はこのアプリの実行に必要なファイルを作成:次に

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

に入力し

エレクトロン。

iはエラーに

「電子」が、内部または外部コマンドとして認識されない、 操作可能なプログラムまたはバッチファイルを取得します。

CMDをインストールしていないアプリからこのプログラムを実行する方法はありますか?これはどのように修正できますか?

+0

電子はグローバルにインストールされていますか? 'npm install -g electron' – devilfart

+0

npm @devilfart以外のインストーラで電子をインストールしました –

+0

@ S.Mi Electronのインストーラはありません。それはNPM経由で配布されインストールされています。 Electron APIのデモを含むElectron API Demosアプリをダウンロードしてインストールしたことがあります。 –

答えて

1

ようこそstackoverflow!

インストールしたパッケージはデモパッケージです。これは、Electron社が開発者に提供しているさまざまな機能を実証するためのものです。今のあなたのニーズには適していません。

あなたが必要とするのは、devilfartとVadimが指摘したように、Electronランタイムのグローバルインストールです。これは、管理者権限でコマンドラインを起動することによって達成し、次のコマンドを入力することができます:

npm install -g electron

これはあなたのベースnode_modulesディレクトリ内にグローバルパッケージとして電子ランタイムをインストールして、electronコマンドの使用を可能にします。

関連する問題