Я попробовал почти каждый ответ об обслуживании статического контента в экспрессе, и я все еще борюсь. Я думаю, что причина моей борьбы в том, что я запускаю nodejs с express в приложении Electron Fiddle. Так как приложения Electron являются PWA, у них есть некоторые опции доступа к файловой системе на уровне ОС. Я начинаю верить, что мой код не является проблемой, но вместо этого есть некоторый конфликт между nodejs / express / electronic.
Структура каталогов
├── main.js
├── public
│ └── images
│ └── face.jpg
Код
**main.js**
const electron = require('electron')
const { app, BrowserWindow } = electron
let win
app.on('ready', () => {
win = new BrowserWindow()
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var path = require('path');
//app.use(express.static(path.join((__dirname, 'public')));
//app.use(express.static(__dirname, 'public'));
app.use(express.static('public'));
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
server.listen(3000, function(){
console.log('listening on *:3000');
win.loadURL('http://localhost:3000/')
});
})
**index.html**
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<img src="images/face.jpg">
</body>
</html>
**renderer.js** (not currently being used)
// This file is required by the index.html file and will
// be executed in the renderer process for that window.
// All of the Node.js APIs are available in this process.