Задать вопрос
@McHack

Почему WebPack Dev Server открывает дев-сервер на физической основе?

Неизвестно по какой мне причине WebPack Dev Server стал обращаться к билду для продакшена. То есть он поднимает сервер напрямую из физической папки, хотя должен генерировать все в памяти, насколько я знаю. Самое интересное, что live-reload работает абсолютно на всех страницах, однако ничего не обновляется (даже css), т.к. не обновляется конечный файл в физической папке. Если же удалить папку с билдом, то мы увидим прекрасную картину:

5d5d0322a510d707593735.png

Файл конфигурации настроен так, ранее все прекрасно работало. Вот код:
const PATHS = {
  app: path.join(__dirname, '../app'),
  dist: path.join(__dirname, '../dist'),
  assets: 'assets/'
}

 entry: {
    app: PATHS.app,
    personal: `${PATHS.app}/personal.js`
  },
  output: {
    filename: `${PATHS.assets}js/[name].js`,
    path: PATHS.dist,
    publicPath: '/'
  },


С WebPack работаю недавно, новичок, поиски в интернете ничего дельного не дали. Видел даже похожий вопрос тут на Тостере, однако решения так и не нашел. В чем может быть причина? Спасибо!
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
@McHack Автор вопроса
Проблема оказалась до боли банальна, но не очевидна. В плагинах в определении конечного пути для файла я забыл указать точку. Билд функция все понимала правильно и делала все как нужно, тогда как дев-серверу нужен был относительный путь. Смотрим на живом примере:
...PAGES.map(page => new HtmlWebpackPlugin({
      template: `${PAGES_DIR}/${page}`,
      filename: `(вот она красивая, никогда не забывайте ее) => ./${(page == 'index.pug') ? '' : page.replace(/\.pug/, '')+'/'}index.html`,
      inject: 'head',
      excludeAssets: [/personal.*.js/],
      hash: false
    })),
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы