【问题标题】:Electron auto launch packaged application starts welcome windowElectron 自动启动打包应用启动欢迎窗口
【发布时间】:2019-01-15 18:12:08
【问题描述】:

我正在开发一个适用于 Windows 的电子测试应用程序。

目标是一个自动启动的应用程序,每次 Windows 用户登录时都会显示一个弹出消息。

场景:

  1. 我正在执行npm start 来打包我的代码。 (索引.js + 包.json)
  2. 我执行生成的.exe,它将弹出我的消息。 (到目前为止一切都很好,对吧?)
  3. 我从 Windows 中退出(CTRL + L ALT + DEL,如果这很重要)并再次登录以测试应用程序。
  4. 弹出窗口会打开,但默认的电子欢迎页面也会打开。

package.json

{
    "name": "test",
    "description": "",
    "version": "0.0.1",
    "main": "index.js",

    "scripts": {
        "test": "electron .",
        "start": "electron-packager . Test --platform=win32 --arch=x64 --overwrite"
    },

    "author": "",
    "license": "MIT",

    "build": {
        "appId": "com.test.test",
        "win": {
          "target": "NSIS"
        }
    },

    "dependencies": {
        "auto-launch": "^5.0.5"
    },

    "devDependencies": {
        "electron": "latest",
        "electron-packager": "^12.1.1"
    }
}

index.js

const {app, dialog} = require("electron");
const AutoLaunch = require("auto-launch");

app.on("ready", function(){
  dialog.showMessageBox({ message: "We are ready to take off! :-)", buttons: ["OK"] });

  let autoLaunch = new AutoLaunch({
    name: "test"
    // path: app.getPath("exe")
  }).isEnabled().then((isEnabled) => {
    if (!isEnabled){
            autoLaunch.enable();
            dialog.showMessageBox({ message: "AutoLaunch enabled.", buttons: ["OK"] });
    }
    else dialog.showMessageBox({ message: "AutoLaunch already enabled.", buttons: ["OK"] });
  });

  app.quit();
});

编辑:发现了一个阻止package.json 更新的问题。一个简单的npm info 会导致完全出乎意料的输出。

【问题讨论】:

  • 快速查看该包(自动启动),您需要定义一个路径,您已将其注释掉.. 该包所做的只是在各种系统中设置自动启动.. npm start 不会需要建造的工作
  • npm-start 启动打包程序,从而生成完整的 stnadalone。 npmjs.com/package/auto-launch 说:options.path - 字符串(NW.js 和 Electron 应用程序可选)
  • 好吧,抱歉错过了你的脚本..(一般 start 不使用,而是 build 是,test 也是 dev 但是嘿..),但其余的就可以了..
  • 如果已安装,则为可选..检查源..github.com/Teamwork/node-auto-launch/blob/master/src/…
  • 如果我将“开始”更改为“构建”,我会在 cmd 中收到一条错误消息。我现在就去检查。我觉得这条路是必要的,必须是绝对的。

标签: javascript node.js electron electron-packager


【解决方案1】:

哇,完全忘记了这个问题。 解决方案如下:

更新所有依赖项。 确保 .html / .js 文件的路径是绝对且正确的。

/ 开头的绝对路径 例如/files/index.html

就是这样!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-20
    • 2017-07-08
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 2013-02-16
    相关资源
    最近更新 更多