I couldn't find it referenced in the documentation, but Vue seems to automatically strip out <style> tags in your template. For example if you have your component in a .js file like...
export default {
template: (
`<section>
<style scoped>
header { color: blue; }
</style>
<header>Hello!</header>
...
</section>`
),
// data, methods, etc.
};
...then your header will not be blue; the style will disappear with the warning "Tags with side effect (<script> and <style>) are ignored in client component templates."
Yet if you are using a .vue file and the vue cli, you are generally encouraged to have three sections - <style scoped> for your CSS, <script> for your JavaScript, and <template> for your HTML template.
Unless there is some other (undocumented?) way to set the style via a component's config parameters, there are two different paradigms - one for a component in js and one for vue components. Why is this? Is there another way for non-vue-cli users to get component-scoped styles into their vue app?