webpack config可同时使用css和scss文件
我想在我的app.jsx中导入一个webpack config可同时使用css和scss文件,webpack,Webpack,我想在我的app.jsx中导入一个.css文件,该文件包含一些特定于主题的代码,但是我的组件使用scss文件进行样式设置 test: /\.scss$/, use: [ { loader: 'style-loader', options: { hmr: true } }, { loader: 'css-loader', options: { modules: true, importLoaders: 1,
.css
文件,该文件包含一些特定于主题的代码,但是我的组件使用scss文件进行样式设置
test: /\.scss$/,
use: [
{
loader: 'style-loader',
options: {
hmr: true
}
},
{
loader: 'css-loader',
options: {
modules: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
},
{
loader: 'sass-loader'
},
{
loader: 'postcss-loader',
options: {
plugins: [autoprefixer({ browsers: ['last 3 versions'] })]
}
}
]
test: /\.css$/,
use: [
{
loader: 'style-loader',
options: {
hmr: true
}
},
{
loader: 'css-loader',
options: {
modules: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
},
//removed sass loader
{
loader: 'postcss-loader',
options: {
plugins: [autoprefixer({ browsers: ['last 3 versions'] })]
}
}
]
我该怎么做?这是我的网页配置,它只适用于scss文件,我想我可以放一个通配符,这两个都可以
test: /\.(s?)css$/,
use: [
{
loader: 'style-loader',
options: {
hmr: true
}
},
{
loader: 'css-loader',
options: {
modules: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
},
{
loader: 'sass-loader'
},
{
loader: 'postcss-loader',
options: {
plugins: [autoprefixer({ browsers: ['last 3 versions'] })]
}
}
]
您可以为css和scss文件编写不同的规则,您可以删除css文件的sass加载程序
test: /\.scss$/,
use: [
{
loader: 'style-loader',
options: {
hmr: true
}
},
{
loader: 'css-loader',
options: {
modules: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
},
{
loader: 'sass-loader'
},
{
loader: 'postcss-loader',
options: {
plugins: [autoprefixer({ browsers: ['last 3 versions'] })]
}
}
]
test: /\.css$/,
use: [
{
loader: 'style-loader',
options: {
hmr: true
}
},
{
loader: 'css-loader',
options: {
modules: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
},
//removed sass loader
{
loader: 'postcss-loader',
options: {
plugins: [autoprefixer({ browsers: ['last 3 versions'] })]
}
}
]
下面是我个人对css和scss文件的设置
webpack.config.js
postss.config.js
试试这个。我已经测试过了。对我来说效果很好
{
test: /\.(sa|sc|c)ss$/,
use: [
{
loader: 'style-loader',
options: {
hmr: true
}
},
{
loader: 'css-loader',
options: {
modules: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]',
},
},
{
loader: 'postcss-loader',
options: {
plugins: [autoprefixer({ browsers: ['> 1%'] })]
},
},
'sass-loader'
],
}
还有一个小建议:不要像这样使用'last 3 versions':plugins:[autoprefixer({browsers:['last 3 versions']})]
它会包含很多死掉的浏览器
'>1%
{
test: /\.(sa|sc|c)ss$/,
use: [
{
loader: 'style-loader',
options: {
hmr: true
}
},
{
loader: 'css-loader',
options: {
modules: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]',
},
},
{
loader: 'postcss-loader',
options: {
plugins: [autoprefixer({ browsers: ['> 1%'] })]
},
},
'sass-loader'
],
}