sindresorhus / electron-serve

Static file serving for Electron apps
MIT License
437 stars 34 forks source link

ERR_CONNECTION_REFUSED when starting node server from sveltekit #40

Open mbakker96 opened 7 months ago

mbakker96 commented 7 months ago

Hi,

I'm have a Sveltekit application that I want to run inside electron. I choose the option to export my svelte kit application into node application. It works perfectly when running it with node build-folder. But when starting it inside electron the node server does not startup.

Removing tthe hostname and scheme will response in a ERR_FILE_UNKNOW error.

import { app, BrowserWindow } from 'electron';
import serve from 'electron-serve'

const loadURL = serve({
  directory: 'build',
  hostname: '0.0.0.0:3000',
  scheme: 'http'
});
let mainWindow;

(async () => {
    await app.whenReady();

    mainWindow = new BrowserWindow();

    await loadURL(mainWindow);

})();
npx electron-forge start -l   
✔ Checking your system
✔ Locating application
⠋ Loading configuration
✔ Locating application
✔ Loading configuration
✔ Preparing native dependencies [0.1s]
✔ Running generateAssets hook
⠋ [plugin-vite] Launching dev servers for renderer process code
◼ [plugin-vite] Compiling main process code
✔ [plugin-vite] Launching dev servers for renderer process code [0.0s]
⠋ [plugin-vite] Compiling main process code
vite v5.1.6 building for development...

watching for file changes...
vite v5.1.6 building for development...
✔ [plugin-vite] Launching dev servers for renderer process code [0.0s]
⠙ [plugin-vite] Compiling main process code

build started...

build started...
✓ 1 modules transformed.
Generated an empty chunk: "preload".
✓ 1 modules transformed.
.vite/build/main.js  0.62 kB │ gzip: 0.33 kB
built in 25ms.
✔ [plugin-vite] Launching dev servers for renderer process code [0.0s]
✔ [plugin-vite] Compiling main process code [0.0s]

(node:11662) electron: Failed to load URL: http://0.0.0.0:3000/ with error: ERR_CONNECTION_REFUSED
(Use `Electron --trace-warnings ...` to show where the warning was created)
(node:11662) UnhandledPromiseRejectionWarning: Error: ERR_CONNECTION_REFUSED (-102) loading 'http://0.0.0.0:3000/'
    at rejectAndCleanup (node:electron/js2c/browser_init:2:74086)
    at WebContents.failListener (node:electron/js2c/browser_init:2:74299)
    at WebContents.emit (node:events:514:28)
(node:11662) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
[11662:0319/131328.898771:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
  Policy set or a policy with "unsafe-eval" enabled. This exposes users of
  this app to unnecessary security risks.

For more information and help, consult
https://electronjs.org/docs/tutorial/security.
This warning will not show up
once the app is packaged.", source: node:electron/js2c/sandbox_bundle (2)