Express + Webpack: проблема со статическим путем к файлам - PullRequest
0 голосов
/ 07 февраля 2019

Я настраиваю новый проект React с Express & Webpack 4.

Вот моя структура проекта:

|--main/
|    |--dist/
|    |    |--static/
|    |    |    |--bundle.js
|    |    |--index.html
|    |--server/
|    |    |--index.js (ExpressJS entry point)
|    |--src/
|    |    |--index.js
|    |    |--index.html
|    |    |--components
|    |--webpack.config.js

exports в webpack.config.js включает в себя:

  entry: './src/index.js',
  output: {
    path: __dirname + '/dist',
    filename: 'static/bundle.js'
  },

Настройка static в JS ExpressJS (server / index.js):

const DIST_DIR = path.join(__dirname, '..', 'dist');
app.use(express.static(path.join(DIST_DIR, 'static')));

При запуске сервера из корневого пути (localhost: 8888 /)файл по пути /static/bundle.js правильно получен от dist.Корневая страница прекрасно работает.

Но на некорневой странице (localhost: 8888 / category /: category) он ищет файл по пути /category/static/bundle.js, который не существует в dist.

Я попытался изменить статическую настройку в ExpressJS на:

const DIST_DIR = path.join(__dirname, '..', 'dist');
app.use('/static', express.static(path.join(DIST_DIR, 'static')));

, но это не сработало.

Как это исправить для страниц без полномочий root?Как мне сказать, что express ищет абсолютный путь (/static/bundle.js) для статических файлов, а не относительный.Кроме того, правильна ли моя конфигурация webpack?

...