Как получить доступ к DOM из веб-загрузчика
Я пишу загрузчик веб-пакетов для определенного расширения файла, и я хотел бы добавить пользовательский импорт в DOM
module.exports = function(source) {
...
document.appendChild(myImport)
return `export default 'hello'`;
}
но DOM не доступен
ReferenceError: документ не определен
Есть ли способ получить доступ к DOM из моего загрузчика?
Моя конфигурация веб-пакета:
const path = require('path')
module.exports = {
...
module: {
rules: [{
test: /\.myextension$/,
use: {
loader: 'my-loader'
}
}]
}
};
1 ответ
Решение
Нет, код из загрузчика будет запускаться в env node.js, который не имеет власти над dom (браузер env). Чтобы иметь возможность манипулировать dom, вы должны вывести код через загрузчик, который будет вставлен в файл такого типа, а затем при запуске в браузере он внесет изменения.
Что-то вроде:
module.exports = function(source) {
return `export default function(){
document.appendChild(myImport)
}`;
}