Попытка использовать экспресс для обслуживания статических ресурсов (css, images, js) для представления index.html.
В файле app.js
app.use(express.static(path.join(__dirname, 'public')));
В файле index.html
<link rel="stylesheet" type="text/css" href="/css/style.css">
<script type="text/javascript" src="/js/app.js"></script>
<img src="/images/logo.jpg" alt="logo"/>
Структура папки
public
css
style.css
images
logo.jpg
js
app.js
Кажется, что все три обязательных файлаобслуживается просто отлично, так как все они имеют статус ответа 200, однако logo.jpg не отображается.
РЕДАКТИРОВАТЬ: app.js в общей папке не сценарий, используемый для запуска сервера.
FULL app.js
require('dotenv').config();
const http = require('http');
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const logger = require('morgan');
const index = require('./routes/index');
const install = require('./routes/install');
const webhook = require('./routes/webhooks');
const app = express();
app.set('views', path.join(__dirname, 'views'));
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.use(logger('dev'));
app.use('/webhook', bodyParser.raw({ type: 'application/json' }));
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', index);
app.use('/install', install);
app.use('/webhook', webhook);
const server = http.createServer(app);
server.listen(3000, () => console.log('App running'));
Полная структура папок
public
css
style.css
images
logo.jpg
js
app.js
routes
index
index.js
install
index.js
webhooks
index.js
views
app
index.html
error.html
app.js