@nuclearjack

Как включить import при сборке стилей node-sass-glob-importer?

Всем привет. Необходимо собирать все стили в директории, для этого использую node-sass-glob-importer. На windows всё работает отлично, а на debian собираются только .scss/.sass стили, css стили попадают в бандл в виде импортов.
Может кто-нибудь сталкивался с подобным. Заранее спасибо.
6iGx6csCI54.jpg
const path = require('path');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const globImporter = require('node-sass-glob-importer');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const WebpackAssetsManifest = require('webpack-assets-manifest');


module.exports = {
    entry: './resources/js/main.js',
    output: {
        path: path.resolve(__dirname, 'public/bundle'),
        filename: './js/main.js',
        // chunkFilename: '[id]-[chunkhash].js',
    },
    resolve: {
        extensions: [
            '.mjs',
            '.js',
            '.jsx',
            '.vue',
            '.json',
            '.wasm'
        ],
    },
    stats: {
        children: false,
        errors: true
    },
    module: {
        rules: [
            {
                test: /\.vue$/,
                loader: 'vue-loader'
            },
            {
                test: /\.(sa|sc|c)ss$/,
                use: [
                    {
                        loader: MiniCssExtractPlugin.loader,
                        options: {
                            hmr: process.env.NODE_ENV === 'development',
                        },
                    },
                    {
                        loader: 'css-loader',
                        options: {
                            import: true
                        }
                    },
                    {
                        loader: 'resolve-url-loader'
                    },
                    {
                        loader: 'sass-loader',
                        options: {
                            sassOptions: {
                                webpackImporter: false,
                                importer: globImporter(),
                                import: false
                            }
                        }
                    },
                    {
                        loader: 'postcss-loader'
                    }
                ],
            }
        ]
    },
    mode: 'development',
    plugins: [
        new VueLoaderPlugin(),
        new MiniCssExtractPlugin({
            filename: './css/main.css'
        }),
        new WebpackAssetsManifest({
            output: '../mix-manifest.json',
            publicPath: './bundle/',
        }),
        new CleanWebpackPlugin({
        }),
    ]
};

@import './variables';
@import './css/**/*.css';
@import './rf/*.scss';
  • Вопрос задан
  • 470 просмотров
Решения вопроса 1
@nuclearjack Автор вопроса
Решил использовать import-glob-loader вместо node-sass-glob-importer. Всё заработало.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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