webpackLoaders(preprocessor) {
        let processUrls = this.shouldProcessUrls(preprocessor);

        /** @type {import('webpack').RuleSetRule[]} */
        let loaders = [
            ...CssWebpackConfig.afterLoaders({
                context: this.context,
                method: 'extract',
                location: 'per-file'
            }),
            {
                loader: this.context.resolve('css-loader'),
                options: {
                    /**
                     *
                     * @param {string} url
                     */
                    url: url => {
                        if (url.startsWith('/')) {
                            return false;
                        }

                        return processUrls;
                    },
                    sourceMap: this.context.isUsing('sourcemaps'),
                    importLoaders: 1
                }
            },
            {
                loader: this.context.resolve('postcss-loader'),
                options: this.postCssLoaderOptions(preprocessor)
            }
        ];

        if (preprocessor.type === 'sass' && processUrls) {
            loaders.push({
                loader: this.context.resolve('resolve-url-loader'),
                options: {
                    sourceMap: true
                }
            });
        }

        if (preprocessor.type !== 'postCss') {
            loaders.push({
                loader: `${preprocessor.type}-loader`,
                options: this.loaderOptions(preprocessor, processUrls)
            });
        }

        loaders.push(
            ...CssWebpackConfig.beforeLoaders({
                context: this.context,
                type: preprocessor.type,
                injectGlobalStyles: false
            })
        );

        return loaders;
    }
Fetch all necessary webpack loaders.

@param {Detail} preprocessor