在创建electronjs自动启动应用程序时遇到问题

时间:2017-08-16 13:04:14

标签: javascript node.js electron electron-builder electron-packager

npm init
npm install electron-prebuilt --save-dev
Create index.js
npm install electron-packager --save-dev
npm run build OR electron-packager . --all

我过去使用这些步骤创建了一个electronjs应用程序,并将其可执行文件放在start文件夹中,以便在系统启动时运行它。但是,发布Windows更新时,我在tabmode中运行应用程序时会出现一些问题。所以,我计划创建一个新的应用程序,但是,这些命令并不完美。我遇到了问题。

所以,我想要做的就是:创建一个auto-launch electron app。任何人都可以向我提供正确的步骤,因为我在提供的步骤中出错了吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

Steps to create electron app

命令:

npm install electron-prebuilt -g

电子项目需要三个文件:

  • index.html:默认呈现的网页。
  • main.js:启动应用程序并创建一个浏览器窗口来呈现HTML。
  • package.json:列出所需的应用程序依赖项,元数据和文件。

package.json 并添加以下内容:

{
  "name": "hero-browser",
  "version": "0.1.0",
  "main": "main.js",
  "dependencies": {
    "dotenv": "^2.0.0",
    "md5": "^2.1.0"
  }
}

'use strict';

const electron = require('electron');
const app = electron.app;  // Module to control application life.
const BrowserWindow = electron.BrowserWindow;  // Module to create native browser window.
var mainWindow = null;

app.on('window-all-closed', function() {
    if (process.platform != 'darwin') {
        app.quit();
    }
});


app.on('ready', function() {
  mainWindow = new BrowserWindow({width: 800, height: 600});
  mainWindow.loadURL('file://' + __dirname + '/app/index.html');

  mainWindow.on('closed', function() {
    mainWindow = null;
  });
});

应用/ index.html中

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Marvel Super Hero Browser</title>
    <link href="css/index.css" rel="stylesheet" type="text/css"/>
</head>
<body>
    <h1>Marvel Super Hero Browser</h1>
    <em>Thanks to Marvel for their API.</em>

    <div id="character_list"></div>

    <script src="js/index.js"></script>
</body>
</html>

pp / css / index.css并添加一些基本的CSS以帮助布局。

#character_list .character img {
    width: 100px;
}

.character {
    float: left;
    padding: 25px;
    max-width: 100px;
}

app / js / index.js。

这将是大多数应用程序功能发生的地方。首先设置所需的依赖项和变量:

'use strict';

require('dotenv').config();
var md5 = require('md5');
var publicKey = process.env.MARVEL_PUBLIC_KEY;
var privateKey = process.env.MARVEL_PRIVATE_KEY;
var ts = String(new Date().getTime());
var hash = md5(ts+privateKey+publicKey);

var url = `https://gateway.marvel.com/v1/public/characters?ts=${ts}&apikey=${publicKey}&hash=${hash}&limit=25`;