Ориентированное на многопотоковое исполнение использование Системы. Конфигурация

Я посмотрел ближе на то, как angular-cli обрабатывает глобальные стили, и эта пересмотренная конфигурация сработала для меня:

{
    // Process the component styles
    exclude: path.resolve(__dirname, 'src/assets/styles/styles'),
    test: /\.(scss)$/,
    use: [
        { loader: 'raw-loader' }, // Load component css as raw strings
        {
            loader: 'sass-loader', // Compiles Sass to CSS, using Node Sass by default
            options: {
                sourceMap: true
            }
        },
    ]
},
{
    // Process the global tailwind styles
    include: path.resolve(__dirname, 'src/assets/styles/styles'),
    test: /\.(scss)$/,
    use: [
        {
            loader: 'style-loader',
            options: {
                sourceMap: false
            }
        },
        {
            loader: 'postcss-loader', // Process tailwindcss,
            options: {
                plugins: [
                    tailwindcss('./tailwind.js'),
                    require('autoprefixer'),
                ],
            }
        },
        {
            loader: 'sass-loader', // Compiles Sass to CSS, using Node Sass by default
            options: {
                sourceMap: false
            }
        },
    ]
}

Решения заключаются в том, чтобы обрабатывать компонент и глобальные стили отдельно. raw-loader работает лучше, чем css-loader и to-string-loader. Этот dev-конфигуратор с style-loader также позволяет выполнять горячую замену модуля при редактировании стилей компонента и попутного ветра.

9
задан iammichael 13 April 2009 в 10:00
поделиться

2 ответа

Экземпляр, возвращенный из GetSection, не является потокобезопасным. Это означает, что вам нужно добавить код блокировки, чтобы использовать его в вашем синглтоне.

Несколько вызовов не выполняют повторный анализ файла, если только файл не был изменен. Данные кэшируются в памяти.

Ваша проблема безопасности потоков легко решается с помощью блокировки (я не уверен, что вам понадобится, если вы не меняете конфигурацию во время выполнения), и нет проблем с производительностью.

5
ответ дан 3 November 2019 в 07:14
поделиться

ConfigurationManager.GetSection (string) является общедоступным статическим членом, и поскольку msdn заявляет, что «любые общедоступные статические (Shared в Visual Basic) члены этого типа являются поточно-ориентированными», можно предположить, что это безопасен в использовании.

Что касается производительности, я хотел бы предположить, что MS уже сделала это довольно эффективным и просто использовать свои функции как есть. Помните: преждевременная оптимизация - корень зла.

Любые открытые статические (Shared в Visual Basic) члены этого типа являются потокобезопасными », вы можете предположить, что это безопасно для использования.

Что касается производительности, я хотел бы предположить, что MS уже сделала это довольно эффективным и просто использовать свои функции как есть. Помните: преждевременная оптимизация - корень зла.

Любые открытые статические (Shared в Visual Basic) члены этого типа являются потокобезопасными », вы можете предположить, что это безопасно для использования.

Что касается производительности, я хотел бы предположить, что MS уже сделала это довольно эффективным и просто использовать свои функции как есть. Помните: преждевременная оптимизация - корень зла.

0
ответ дан 3 November 2019 в 07:14
поделиться
Другие вопросы по тегам:

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