У нас есть куча видеофайлов, которые были развернуты с кодом веб-пакета (хранятся в LFS)
Мы переместили их в CDN и хотим использовать загрузчик файлов веб-пакета с publicPath для их преобразования на абсолютные URL во время сборки.
Webf barfs, потому что файл не существует. Это моя попытка написать плагин для разрешения, чтобы пропустить их, но я все еще получаю файл не найден ошибок .... Что я пропустил?
var VideoResolver = {
apply: function(resolver) {
const target = resolver.ensureHook("resolved");
resolver.getHook("module").tapAsync("VideoResolver", (request, resolveContext, callback) => {
if (request.request.startsWith("assets/videos") || request.request.endsWith(".mp4")) {
const resolved = {
path: request.request,
request: request.request,
query: request.query,
resolveToContext:{},
directory: !request.request.endsWith(".mp4")
};
console.log(resolved)
resolver.doResolve(
target,
resolved,
`skipping video resolve for ${request.request}`,
resolveContext,
callback
);
} else {
callback();
}
});
},
};
Редактировать: Похоже, NormalModule и LoaderRunner читают содержимое файлов и передают его загрузчикам (которые кажутся плохо названными :)). Я не вижу простого способа переопределить это поведение