Показать сообщение отдельно
  #1 (permalink)  
Старый 06.04.2021, 17:04
Аватар для Shasoft
Профессор
Отправить личное сообщение для Shasoft Посмотреть профиль Найти все сообщения от Shasoft
 
Регистрация: 03.03.2009
Сообщений: 156

webpack v5: loader package.json => js код
Пытаюсь написать loader, который загружает package.json и по его содержимому генерирует нужный мне javascript код.

Однако получаю ошибку
SyntaxError: Unexpected token / in JSON at position 0 while parsing near '/* Д  инамические импо...'

Собственно понятно что webpack после моего загрузчика пытается ещё что-то применить и считает что формат JSON и из-за этого ошибка. В частности ругается на комментарий в начале.

В webpack 4 я делал так чтобы изменить тип с json на javascript
const requiredType = 'javascript/auto';
const factory = this._compilation.dependencyFactories.get(LoaderDependency);
this._module.type = requiredType;
this._module.generator = factory.getGenerator(requiredType);
this._module.parser = factory.getParser(requiredType);

но в webpack 5 это не работает, так как ругается на отсутствующий метод getGenerator (как оказалось потому что factory = undefined). К тому же переменные начинающиеся с _ как бы намекают что это какое-то шаманство.

В связи с этим вопрос: что нужно сделать чтобы подключая вот так
import aaa from '!my-loader!./package.json';
чтобы я получал javascript код который генерирует мой loader?

Последний раз редактировалось Shasoft, 06.04.2021 в 17:16.
Ответить с цитированием