我是否可以在没有Vue Loader的情况下包含scoped css?

问题描述:

对于Vue被投入的项目,是否使用可用于组件的样式或类似项目?我是否可以在没有Vue Loader的情况下包含scoped css?

Vue.component('vue-sup', { 
    template: '<div>Sup</div>', 
    style: '* { color: blue; }' 
})  

我尝试添加样式的模板中,如:

<div> 
    <style> 
     .here{} 
    </style> 
    <div>Sup</div> 
</div> 

因为模板分析器检测到的副作用标签,没有工作

Vue公司的执行范围的CSS是完全vue-loader的一个特性,因此仅适用于编译。应用范围的CSS暂时在Html5中首次亮相,但几乎没有采用,并据我所知完全丢弃。有一种预期,“Shadow DOM”可能会得到广泛的支持,可以用来添加有限范围的CSS,但采用还没有。

所以在这一点上,你可以添加独特的类或标识显然是父容器和范围你的CSS这种方式,但可以理解,不是你要求的,也不是一直实用。

最好的选择是pollyfill。有几种可用的。这是一个由Sam Thorogood和另一个由Thomas Park,但如果你做一个快速搜索,你可能会发现更多。

+0

非常好的解决方案。唯一的问题是,当我在模板中包含'

+0

这是并不是真正有效的解决方案,但我编辑Vue的源代码时不会看'

+0

不确定,但是你尝试在app.js(vue.js)文件后面调用函数'Vue.config.ignoredElements'吗? https://vuejs.org/v2/api/#ignoredElements – skribe