2017-04-24 54 views
0

我在關注this指令,以electron開頭。但是我遇到了問題,通過命令npm start來運行程序。package.json有問題

我相應地改變了路徑。以下是文件:

main.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.

的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>

的package.json

{ 
 
    "name": "app3", 
 
    "version": "1.0.0", 
 
    "description": "ss", 
 
    "main": "index.js", 
 
    "scripts": { 
 
    "start": "../../node_modules/.bin/electron ." 
 
    }, 
 
    "author": "r", 
 
    "license": "ISC", 
 
    "devDependencies": { 
 
    "electron-prebuilt": "^1.2.7" 
 
    } 
 
}

這裏有

項目目錄的絕對路徑:C:\Users\lhmmar1\git\js\electron\test\

模塊:C:\Users\lhmmar1\git\js\node_modules\

我很奇怪,當我運行時:C:\Users\lhmmar1\git\js\node_modules\.bin>electron ..\..\electron\test\main該程序工作正常。但是,當我運行C:\Users\lhmmar1\git\js\electron\test>npm start它報告如下:

enter image description here

我已經看到了通過第二個命令的工作,雖然我明明弄錯的地方。

是否可以通過npm命令運行包腳本?如果是,我在哪裏錯了?

回答

0

我認爲你需要首先執行npm install,才能生成node_modules。

+0

在什麼目錄下/在哪裏運行該命令? – Hairi

+0

您的包json是|的目錄開始參數是否正確?那就是npm在發現package.json的位置拋出錯誤 – Gabbax0r

+0

的地方 – aurelius