Разрушение кэша Laravel mix `mix.version ([...])` игнорируя аргумент дополнительных путей - PullRequest
0 голосов
/ 29 октября 2019

Github Issue (включает шаги воспроизведения): https://github.com/JeffreyWay/laravel-mix/issues/2267

Я пытаюсь добавить дополнительные пути для laravel-mix, чтобы включить их в mix-manifest.json, но они не вытягиваются, так какописано в документации: https://laravel -mix.com / docs / 5.0 / versioning # versioning-extra-files

Мне нужно динамически скомпилировать файл SASS, но включить ссылки на другиеранее скомпилированные файлы SASS в mix-manifest.json. Это означает, что бесчисленные файлы не будут бессмысленно перекомпилироваться, когда для клиента требуется изменить один файл SASS.

Можете ли вы увидеть что-то не так с приведенным ниже?

const mix = require("laravel-mix");
const glob = require("glob");

const srcPrefix = "src/";
const distPrefix = "public/";

var client = "google";

glob.sync(srcPrefix + client + ".scss").forEach(path => {
    mix.sass(path, distPrefix);
});

var otherPaths = glob.sync(distPrefix + "**/*.css").filter(path => !path.match(distPrefix + client));

// // [ 'public/bing.css', 'public/duckduckgo.css' ]
console.log(otherPaths);

mix.version(otherPaths);

Вот проектпапка:

src/ папка:

  • google.scss
  • bing.scss
  • duckduckgo.scss

public/ Папка:

  • google.css
  • bing.css
  • duckduckgo.css

При запуске нашего скриптаЯ только получаю это в нашем манифесте (ожидая все записи):

{
    "/public/google.css": "/public/google.css"
}
...