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

Почему WEBPACK генерирует JS фаил на каждый CSS?

почему WEBPACK при обработке scss создает на каждый CSS еще и JS фаил

привожу конфиг

module.exports = {
    entry: {
        bundle: './src/js/bundle.js',
        index: './src/js/index.js',
        common_css: path.resolve(__dirname, './src/scss/main.scss'),
        index_css: path.resolve(__dirname, './src/scss/index.scss')
    },
    output: {
        path: path.resolve(__dirname, './local/templates/'), 
        filename: './js/[name].js'
    },
    devtool: "source-map",
    optimization: {
        minimizer: [
            new OptimizeCSSAssetsPlugin({}),
            new UglifyJsPlugin({
                cache: true,
                parallel: true,
                sourceMap: false,
                uglifyOptions: {
                    output: {
                        comments: false,
                    }
                }
            }),
        ]
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                include: path.resolve(__dirname, 'src/js'),
                exclude: [/node_modules/],
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['env','stage-3']
                        }
                    }
            },
            {
                test: /\.scss$/,
                include: path.resolve(__dirname, 'src/scss'),
                use: [
                    {
                        loader: MiniCssExtractPlugin.loader,
                    },
                    {
                        loader: "css-loader",
                        options: {
                            sourceMap: true,
                            minimize: true,
                            url: false
                        }
                    },
                    {
                        loader: 'postcss-loader',
                        options: {
                            plugins: [
                                autoprefixer({
                                    browsers:['ie >= 8', 'last 4 version']
                                })
                            ],
                            sourceMap: true
                        }
                    },
                    {
                        loader: "sass-loader",
                        options: {
                            sourceMap: true
                        }
                    }
                ]

            },
            {
                test: /\.html$/,
                include: path.resolve(__dirname, 'src/html/includes/'),
                use: ['raw-loader']
            },
            {
                test: /\.(gif|png|jpe?g|svg)$/i,
                use : [
                    { loader: "file-loader?name=i/[hash].[ext]"},
                ]
            },
            {
                test: /\.(eot|svg|ttf|woff|woff2)$/,
                loader: 'file?name=public/fonts/[name].[ext]'
            }
        ]
    },
    resolve: {
        modules: ["node_modules", "spritesmith-generated"]
    },
    plugins: [
        new MiniCssExtractPlugin({
            filename: './css/[name].css',
            allChunks: true,
        }),
 
        
        ]),
    ].concat(phpPlugins)

};


при запуске сборки он генерирует

Entrypoint bundle [big] = ./js/bundle.js
Entrypoint index = ./js/index.js
Entrypoint common_css = ./css/common_css.css ./js/common_css.js
Entrypoint index_css = ./css/index_css.css ./js/index_css.js

вот не понимаю зачем нужны ./js/common_css.js и ./js/index_css.js

т.е он на каждую точку входа если она обрабатывает scss генерирует .js для нее

прошу объяснить для чего он это делать

можно ли это отключить
  • Вопрос задан
  • 314 просмотров
Подписаться 3 Средний 1 комментарий
Решения вопроса 1
@weart
sass и is импортятся в entry.js, а в конфиге вебпака указываете entry.js

import '../sass/main.scss';
import '../js/main.js';


entry: {
		'main': './assets/entry.js',
	},
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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