Бесконечное восстановление l oop в режиме * mix Laravel. - PullRequest
0 голосов
/ 19 апреля 2020

Используя PhpStorm 2020.1 под Xubuntu 18.04, я встраиваю игру JS в установку Laravel 6.18.8 fre sh.

Каждый раз, когда я запускаю npm run watch или npm run watch-poll, мои активы продолжают бесконечно перестраиваться.

Вот мой конфиг:

// Dependencies in package.json:
"devDependencies": {
    "axios": "^0.19",
    "bootstrap": "^4.4.1",
    "cross-env": "^7.0",
    "fibers": "^4.0.2",
    "jquery": "^3.5.0",
    "laravel-mix": "^5.0.1",
    "lodash": "^4.17.13",
    "node-sass": "^4.13.1",
    "pixi.js": "^5.2.1",
    "popper.js": "^1.16.1",
    "resolve-url-loader": "^3.1.0",
    "sass": "^1.15.2",
    "sass-loader": "^8.0.0",
    "vue-template-compiler": "^2.6.11"
  }

// webpack.mix.js config:
mix
    .copyDirectory('resources/images', 'public/images')
    .sass('resources/sass/app.scss', 'public/css')
    .js('resources/js/app.js', 'public/js')
    .extract(['lodash', 'popper.js', 'jquery', 'bootstrap', 'axios', 'pixi.js'])
    .version(['public/images'])
    .sourceMaps()
;

Я много гуглил, и в основном находят это решение , но изменение параметра processCssUrls ничего не меняет.
Обратите внимание, что ни одно из изображений моего приложения не используется из каких-либо файлов s css, поэтому я не думаю, что это перезаписать URL-адрес.

Копая глубже, я использовал следующий плагин, также посмотрите, какой файл вызывает перестройку:

class WatchRunPlugin {
    apply(compiler) {
        compiler.hooks.watchRun.tap('WatchRun', (comp) => {
            let mtimes = comp.watchFileSystem.watcher.mtimes;
            let changes = Object.keys(mtimes);
            if (changes.length) {
                changes = changes.map(file => `  ${file} (${mtimes[file]})\n`).join('');
                console.log(`CHANGES:\n${changes}`);
            }
        });
    }
}

При каждой перестройке он показывает только /public/mix-manifest.json с новой отметкой времени, как будто это обновление файла вызывает перестройку.
Я пытался ее игнорировать, но это тоже ничего не меняет;

mix
    .webpackConfig({
        watchOptions: {
            ignored: ['public/mix-manifest.json']
        }
    })
    // ...
    ;

Наконец, я пытаюсь удалить все утверждение от webpack.mix.js один за другим, но проблема все еще происходит независимо от заданных задач восстановления. Может ли эта проблема быть вызвана ОС и / или IDE?

Это сводит меня с ума, и у меня нет вариантов здесь ^^
Любая помощь будет очень признательна, спасибо заранее.

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