Record a website packaged with Node. js electron, node. jselectron

Source: Internet
Author: User

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.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.