Record a website packaged with Node. js electron, node. jselectron
For detailed steps, see: http://blog.csdn.net/a727911438/article/details/70834467
Many problems occurred during packaging, which were recorded one by one for reference by others.
Package. json File Content
{ "name": "appname", "version": "0.1.0", "main": "./main.js", "scripts": { "start": "electron ." }}
Main. js File Content
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 winfunction 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.
After installing the packaging artifact, the "Unable to determine electron version. Please specify an Electron version" error occurs when executing the Electron-packager:
To solve this problem, you only need to specify the Electron version in the command. The specific command is as follows:
electron-packager . sound_machine --win --out a --arch=x64 --version=0.1.0 --electron-version=1.6.15 --overwrite --ignore=node_modules
Because the local network adopts the server proxy Internet access mode, you must specify the proxy address for npm. Otherwise, the error "tunneling socket cocould not be established, statusCode = 502" may occur.
The command to set the npm proxy is as follows:
npm config set proxy=http://10.**.**.**:8080
Run the electron-packager package command again. This time there is no error and the system prompts you to start downloading the file. After the download is complete, start packaging. A message is displayed, indicating that the package is successful:
So far, packaging is complete.