Я только начал возиться с Webpack в первый раз.Я установил webpack 4 и смог создать небольшой тестовый сайт.В моем тестовом проекте у меня есть очень маленький веб-компонент, который я написал (только начал писать веб-компоненты тоже).К моему удивлению все работало отлично.Пока ...
Я включил эту строку в свой веб-компонент:
console.log(this.hasAttribute('emphasis');
после того, как я добавил эту строку в свой компонент, веб-пакет больше не будет собираться.Если я это прокомментирую, все будет хорошо.Вот ошибка, которую выдает мне веб-пакет:
Module parse failed: Unexpected token (32:55)
You may need an appropriate loader to handle this file type.
connectedCallback(){
console.log(this.hasAttribute('emphasis');
Я использую простейший пример веб-пакета 4 без файла конфигурации.
- Почему проверка на атрибут нарушает веб-пакет?
- Если мне нужен загрузчик модулей для веб-компонентов, почему он ждал, чтобы жаловаться, пока я не проверил атрибут?
- Если мне нужен загрузчик, какой загрузчик мне нужен?
Вот мой веб-компонент для справки:
(function() {
const template = document.createElement('template');
template.innerHTML = `
<style>
:host {
padding: 0.7em 0.57em;
}
</style>
<slot></slot>
`;
class MyButton extends HTMLElement {
constructor(){
super();
this.attachShadow({mode: 'open'});
this.shadowRoot.appendChild(template.content.cloneNode(true));
}
connectedCallback(){
console.log('connected');
console.log(this.hasAttribute('emphasis'));
}
}
window.customElements.define('my-button',MyButton);
})();