Экспресс статическая конфигурация подачи файлов - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь обслуживать статические ресурсы с экспресс-сервера, на котором также установлен Apollo Server, но это проблема, связанная с конфигурацией express.static.Вот скриншот структуры моей папки enter image description here

Вот код для экспресс-конфигурации.Он находится внутри /config/app.js

import express from 'express';
import bodyParser from 'body-parser';
import morgan from 'morgan';
import cookieParser from 'cookie-parser';
import cors from 'cors';
import path from 'path';

const PORT = process.env.PORT || 3001;
const environment = process.env.NODE_ENV || 'development';
const loggingType = environment === 'development' ? 'dev' : 'tiny';

const app = express();
app.use(
  bodyParser.json({ limit: 1024 * 1024 * 2000, type: 'application/json' })
);
app.use(morgan(loggingType));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, './assets/images')));

export default app;

Если я пытаюсь получить доступ, localhost: 3001 / images, он говорит: Cannot get /images

Что я делаю не так?

Ответы [ 3 ]

0 голосов
/ 10 декабря 2018

Пожалуйста, попробуйте следующее:

app.use(‘/assets’, express.static(path.join(__dirname, '..', ‘assets’)));

Измените параметры на path.join в соответствии с вашей структурой каталогов.

0 голосов
/ 10 декабря 2018

Вы можете использовать функцию static другим способом:

app.use('/', express.static('assets'));

... и вызвать изображение, как показано ниже:

<img src='/images/logo.png'>

Надеюсь, это поможет.

0 голосов
/ 09 декабря 2018

__dirname представляет имя каталога текущего модуля.Вы должны использовать «../assets/images» в качестве статического пути для ваших изображений.

Попытка доступа к localhost: 3001 / images возвращает ошибку, поскольку это статический каталог, а не файл.Доступ к localhost: 3001 / images / test.png должен работать.

Но сначала вам нужно определить статический каталог.Вместо:

app.use(express.static(path.join(__dirname, './assets/images')));

do:

app.use('/images', express.static(path.join(__dirname, '..', '/assets/images');

Надеюсь, это поможет!

EDIT: изменен целевой каталог __dirname на правильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...