Задать вопрос
@xster

Почему webpack переименовывает классы scss?

Добрый день! Подскажите пожалуйста почему вебпак переименовывает классы scss??
На данный момент в бандле все классы переименованы на .style-scss.
Что-то не могу найти где проблема.
Конфиг вебпака
const webpackConfigDev = {
	devtool: 'inline-source-map',
	entry: {
		app: [
			'react-hot-loader/patch',
			path.resolve(__dirname, './app/client/assets/styles/style.scss'),
			path.resolve(__dirname, './app/client/index.js')
		]
	},
	output: {
		path: path.join(__dirname, 'build/'),
		publicPath: 'build/',
		filename: 'bundle.js'
	},

	module: {
		rules: [
			{
				test: /\.js$/,
				exclude: /node_modules/,
				enforce: 'pre',
				use: 'eslint-loader'
			},
			{
				test: /.js$/,
				loader: 'babel-loader',
				include: path.join(__dirname, 'app'),
				exclude: /node_modules/,
				query: {
					presets: ['es2015', 'react', 'stage-2']
				}
			},
			{
				test: /\.css/,
				use: [
					{
						loader: "style-loader"
					}, {
						loader: "css-loader", options: {
							sourceMap: true
						}
					}]

			},
			{
				test: /\.scss$/,
				use: ExtractCssChunks.extract({
					use: [
						{
							loader: 'css-loader',
							options: {
								modules: true,
								// localIdentName: 'bundle.css'
								localIdentName: '[name].[ext]'
							}
						},
						{
							loader: 'sass-loader'
						}
					]
				})
			},
			{
				test: /\.(gif|png|jpg|jpeg|svg)$/,
				exclude: /node_modules/,
				include: path.resolve(__dirname, './app/client/assets/'),
				use: 'url-loader?limit=10000&name=assets/[name]-[hash].[ext]'
			}
		]
	},

	plugins: [
		new WriteFilePlugin(),
		new HtmlWebpackPlugin({
			favicon: 'favicon.ico'
		}),
		new ExtractCssChunks({
				filename: '[name].css',
			},
		),

		new webpack.HotModuleReplacementPlugin(),
		new webpack.NoEmitOnErrorsPlugin(),
		new webpack.DefinePlugin({
			'process.env': {
				NODE_ENV: JSON.stringify('development')
			}
		})
	],
};
  • Вопрос задан
  • 348 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@ne0n
Потому, что для loader: 'css-loader' установлено modules: true?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы