изображения не подаются на геройку - PullRequest
0 голосов
/ 22 сентября 2018

Вот моя файловая структура:

app -
  \public
        \images
  \dist
      index.html
      ...other bundles here

Как вы видите, у меня есть две папки, восстановленные связанные файлы идут в dist, а файлы статических изображений становятся открытыми.

В моем коде иногда я импортирую файлы изображений (png, svg) через веб-пакет, и они всегда отображаются.Но иногда мне нужно получить изображения через URL в HTML-код.Они не отображаются на герою, но находятся в localhost.

Вот мои настройки приложения (Экспресс):

import express from 'express';
import cors from 'cors';
import path from 'path';
import logger from 'morgan';
import bodyParser from 'body-parser';
import router from './router';
import favicon from 'serve-favicon';
//import compression from 'compression';
global.PUBLIC = path.join(__dirname, '../public');
global.DIST = path.join(__dirname, '../dist');

var debug = require('debug')('app');
const app = express();
// app.use(cors());
app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});
//app.options('*', cors());

app.use(favicon(path.join(__dirname, '../public', 'favicon.ico')));
app.disable('x-powered-by');

// View engine setup
// app.set('views', path.join(__dirname, '../views'));
// app.set('view engine', 'pug');

app.use(logger('dev', {
  skip: () => app.get('env') === 'test'
}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

if (process.env.NODE_ENV === 'production') {
   app.use(express.static(DIST));
   app.use("/public", express.static(PUBLIC));
}


router(app);

// Catch 404 and forward to error handler
app.get('/', (req, res, next) => {
  const err = new Error('Not Found');
  err.status = 404;
  next(err);
});


// Error handler
app.use((err, req, res, next) => { // eslint-disable-line no-unused-vars
  //logger.error(err);
  debug(err);

  if (req.app.get('env') !== 'development' && req.app.get('env') !== 'test') {
    delete err.stack;
  }

  res.status(err.statusCode || 500).json(err);
});


export default app;

У меня есть изображения, встроенные с помощью этого источника:

src='./../public/images/nameofimage.png'

Я не уверен, что это правильный путь, или если мне нужно настроить мои статические файлы в экспресс-коде по-другому.

Может кто-нибудь помочь?

...