Как игнорировать папку при использовании часов с Webpack

У меня есть такая функция:

export default function(path, urlKey = 'static') {

    if (urlKey === 'static') {
        path = require(`~/static${path}`).default;
    }

    urlKey = Object.keys(config.app.urls).includes(urlKey) ? urlKey : 'static';

    return (config.app.urls[urlKey] + '/' + path).replace(/([^:]\/)\/+/g, "$1");

};

Как видите, я использую динамический require который, я считаю, использует require.context. Когда мой веб-пакет связывается, он собирает все файлы в статической папке. В~/static часть пути - это псевдоним моего static папку в корневом каталоге.

При использовании watch в режиме webpack связывание зацикливается.

Я пробовал разные вещи, например watchOptions.ignored и WatchIgnorePlugin но ни один из них не работал.

Это две мои попытки с вышеуказанными решениями:

watchOptions: {
    ignored: /static/
}

а также

plugins:[
    new WatchIgnorePlugin([
        path.resolve(__dirname, '..', 'static')
    ]),
]

Может ли кто-нибудь подсказать, что мне здесь не хватает?

1 ответ

Еще я столкнулся с проблемой бесконечных перестроек. После многих попыток я наконец смог исключить статическую папку с помощью WatchIgnorePlugin в моем webpack.dev.config.js:

      devWebpackConfig = merge(baseWebpackConfig, {
  ...
  plugins: [
    ...
    new webpack.WatchIgnorePlugin([
      path.resolve(__dirname, '../static')
    ])
  
Другие вопросы по тегам