【问题标题】:Built Neutralino app cannot open localhost?内置的 Neutralino 应用程序无法打开 localhost?
【发布时间】:2022-07-29 21:34:41
【问题描述】:

我有一个非常特殊的问题,我有一个使用 Preact 构建的 Neutralino 应用程序,在使用 neu run 运行时运行良好,但是,一旦我构建项目(打开或关闭 enableServer),构建的应用程序将不加载任何东西。

打开enableServer,它会抱怨无法连接到本地主机: "This localhost page cannot be found"

关闭它会给我一个全白的屏幕/DOM。

GitHub 存储库在这里:https://github.com/SpikeHD/XeniaLauncher

我怀疑这可能是我构建项目的方式,但我觉得 neu run 完全正常工作很奇怪。

下面是我的配置:

{
  "applicationId": "js.xenia_launcher.app",
  "version": "1.0.0",
  "defaultMode": "window",
  "port": 0,
  "documentRoot": "/build/",
  "url": "/",
  "enableServer": true,
  "enableNativeAPI": true,
  "tokenSecurity": "one-time",
  "logging": {
    "enabled": true,
    "writeToLogFile": true
  },
  "nativeAllowList": [
    "app.*",
    "os.*",
    "filesystem.*",
    "storage.*",
    "window.*",
    "debug.log"
  ],
  "modes": {
    "window": {
      "title": "XeniaLauncher",
      "width": 1000,
      "height": 800,
      "minWidth": 400,
      "minHeight": 200,
      "fullScreen": false,
      "alwaysOnTop": false,
      "icon": "/resources/icons/appIcon.png",
      "enableInspector": true,
      "borderless": false,
      "maximize": false,
      "hidden": false,
      "resizable": true,
      "exitProcessOnClose": true
    },
    "browser": {},
    "cloud": {
      "url": "/resources/#cloud",
      "nativeAllowList": [
        "app.*"
      ]
    },
    "chrome": {
      "width": 1000,
      "height": 800,
      "args": "--user-agent=\"Neutralinojs chrome mode\""
    }
  },
  "cli": {
    "binaryName": "XeniaLauncher",
    "resourcesPath": "/resources/",
    "extensionsPath": "/extensions/",
    "clientLibrary": "/resources/js/neutralino.js",
    "binaryVersion": "4.4.0",
    "clientVersion": "3.3.0"
  }
}

【问题讨论】:

  • 请注意:您的package.json 中缺少preact-cli@neutralinojs/neu——如果不单独安装它们,任何人都无法克隆和运行您的应用程序。如果您已全局安装,则应在自述文件中添加注释(而且您确实不应该在全局安装 preact-cli,我们建议您不要这样做)。

标签: javascript preact neutralinojs


【解决方案1】:

修好了!我最终只是设置了一些脚本,将所有构建的 Preact 代码放入 resources 文件夹并重新设置我的配置以仅使用资源文件夹,就像原始的 Neutralino 模板一样。我确信本可以有更优雅的方法,但我仍然只是在学习 Neutralino Preact,所以这对我来说已经足够好了。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

看起来resourcesPath 需要设置为您的index.html 所在的目录。我有一个public 目录,并将图标移到那里,然后将resourcesPath 设置为/public/,然后我就可以neu build --release 运行了。

【讨论】:

    最近更新 更多