thehighhomie
@thehighhomie

Webpack: сторонняя библиотека в отдельный файл?

Помогите пожалуйста разобраться со сборкой внешних библиотек в свой файл.

К примеру есть много небольших файлов стилей и с помощью ExtractTextPlugin собираются в один файл.
Теперь когда я захотел подключить сторонюю библиотеку normalize.css, я остановился в непонятках, а именно не могу при с плагином ExtractTextPlugin вывести отдельно css файл с таким же именем - normalize.css

Конфик webpack'a:
const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const extractCSS = new ExtractTextPlugin('css/[name].css');
const extractSASS = new ExtractTextPlugin('css/app.css');

module.exports = {

	entry: path.join(__dirname, 'src', 'index.js'),

	output: {
		path: path.join(__dirname, 'dist'),
		filename: 'bundle.js'
	},

	devtool: 'eval',

	module: {
		rules: [
			{
				test: /\.css$/,
				use: extractCSS.extract([ 'css-loader' ])
			},
			{
				test: /\.scss$/,
				use: extractSASS.extract([
					{
						loader: "css-loader",
						options: {
							modules: true,
							localIdentName: '[name]__[local]--[hash:base64:5]'
						}
					},
					{ loader: "sass-loader", }
				])
			},
			{
				test: /\.(png|jpg|jpeg|gif|svg)$/,
				use: [
					{
						loader: 'file-loader',
						options: {
							name: 'img/[name].[ext]'
						}
					}
				]
			},
			{
				test: /\.(js|jsx)$/,
				exclude: /node_modules/,
				loader: "babel-loader"
			}
		]
	},
	plugins: [
		extractCSS,
		extractSASS
	]

};


index.js:
import React, { Component } from 'react';
import { render } from 'react-dom';
import 'normalize.css';
import 'animate.css';
import './index.scss';
import App from './components/App/App.jsx';

render( <App />, document.getElementById('root') );


И проблема в том, что и normalize.css и animate.css собираются в один файл: main.js. WTF??? Не понимаю как-так, ведь при инициализации плагина я указал маску для генерации имен:
const extractCSS = new ExtractTextPlugin('css/[name].css');


Что за бред и как мне добиться результата? Даже локальные css файлы вместо внешних ставил и так же собираются в один main.js.

А с SASS файлами все ок, app.css собирается отлично.
  • Вопрос задан
  • 1017 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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