При разработке веб-компонента Vue style
не применяется к веб-компоненту, но добавляется в head
документа. Это означает, что стиль игнорируется в тени DOM. Вот как я обертываю веб-компонент в main.js:
import Vue from 'vue';
import wrap from '@vue/web-component-wrapper';
import MyWebComponent from './components/MyWebComponent';
const WrappedElement = wrap(Vue, MyWebComponent);
window.customElements.define('my-web-component', WrappedElement);
Опять же, любые правила CSS внутри тегов стиля не вступают в силу.
Когда я создаю для производства, стили добавляются в веб-компонент. Я использую следующую команду для переноса:
vue-cli-service build --target wc --name my-web-component ./src/components/MyWebComponent.vue
Есть ли способ достичь того же, что и vue-cli-service serve
?
edit: example repo здесь: https://github.com/snirp/vue-web-component
edit2: У меня такое чувство, что моя проблема тесно связана с этой проблемой. Я не могу разобраться в обходных решениях, и я бы оценил более базовое решение.