【发布时间】:2017-11-14 22:41:37
【问题描述】:
我正在使用 webpack 开发一个反应应用程序。我的问题是我的 scss 文件未正确编译或未包含在我的开发模式中。但是在为生产而构建之后,这些样式被包括在内。这个问题非常混乱。请帮我解决这个问题。
我在开发配置中处理 scss 文件的 webpack 配置如下:
{
test: /\.scss$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
importLoaders: 1,
},
},
{
loader: 'postcss-loader',
options: {
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9', // React doesn't support IE8 anyway
],
flexbox: 'no-2009',
}),
],
},
},
'sass-loader'
],
},
对于生产它的以下内容:
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract(
Object.assign(
{
fallback: require.resolve('style-loader'),
use: [
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
minimize: true,
sourceMap: true,
},
},
{
loader: require.resolve('postcss-loader'),
options: {
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9',
],
flexbox: 'no-2009',
}),
],
},
},
{
loader: require.resolve('sass-loader')
},
],
},
extractTextPluginOptions
)
),
},
编辑:
当我从我的项目中删除 scss 文件并只写入 css 文件时,它可以工作。在 webpack 中,我从末尾删除 sass-loader 并为 /.css$/ 编写测试。
但是我只需要使用 sass 文件,该怎么做?请帮忙。
【问题讨论】:
-
你运行的是哪个版本的 webpack?
-
@Ematipico- webpack 2.6.1
标签: reactjs webpack sass-loader