У меня есть однофайловые компоненты, которые построены со следующей конфигурацией Webpack:
const { VueLoaderPlugin } = require('vue-loader');
module.exports = {
module: {
rules: [
{
test: /\.vue$/,
use: 'vue-loader'
},
{
test: /\.(png|jpg|gif)$/i,
use: [
{
loader: 'url-loader',
options: {
limit: 8192
}
}
]
},
{
test: /\.css$/,
use: [
'vue-style-loader',
{
loader: 'css-loader',
options: {
modules: true,
localIdentName: '[local]_[hash:base64:8]'
}
}
]
}
]
},
plugins: [
new VueLoaderPlugin()
]
Я использую тег <style scoped>
для стилизации своих компонентов. Это работает с селекторами тегов (например, nav
), но селекторы классов (например, .content
) не приводят к стилю. DOM содержит соответствующие классы, но сгенерированный файл dist/main.js
содержит только селектор content_xgKyi9qt[data-v-ab83c772]
, который не применяется, поскольку компонент имеет только необработанный класс content
.