Благодаря OZZIE я подверг сомнению свою методологию и обнаружил, что импорт файлов css, как показывает мой вопрос (через импорт ES6 или require.context (...)), бесполезен, так как мы не можем определить мы не получаем доступа к элементу <style>
, поэтому у нас нет доступа к DOM и нет возможности манипулировать им.
Вместо этого мы вручную свяжем css-файлы в <head>
, так как мы знаем их имя и путь.
const themes = ['dark-theme.css', 'light-theme.css'];
const head = document.body.parentElement.firstElementChild;
const link = document.createElement('link');
link.setAttribute('href', process.env.BASE_URL + themes[0]);
link.setAttribute('id', themes[0]); // set id so we can remove it later
head.appendChild(link);