КомплектТрансформатор: Bootstrap SASS - PullRequest
0 голосов
/ 24 января 2020

Я использую превосходный пакет BundleTransformer Nuget для динамической компиляции S CSS с использованием ASP. NET конвейера связывания и минификации. Я пытаюсь внести в смесь пакет bootstrap .sass и продолжаю получать сообщение об ошибке ниже. На данный момент моя установка довольно проста, и файл s css прекрасно компилируется с помощью инструмента node-sass, и если я удаляю строку @import "bootstrap/bootstrap.scss", S CSS прекрасно компилируется с BundleTransformer. Кто-нибудь сталкивался с этой проблемой и, возможно, есть решение? Это. NET Framework 4.7.2. Спасибо!

BundleConfig.cs

        var nullBuilder = new NullBuilder();
        var styleTransformer = new StyleTransformer();
        var scriptTransformer = new ScriptTransformer();
        var nullOrderer = new NullOrderer();

        var defaultScssBundle = new CustomStyleBundle("~/bundles/styles/default");
        defaultScssBundle.Include(
            "~/Content/Default.scss"
        );
        defaultScssBundle.Builder = nullBuilder;
        defaultScssBundle.Transforms.Add(styleTransformer);
        defaultScssBundle.Transforms.Add(new CssMinify());
        defaultScssBundle.Orderer = nullOrderer;
        bundles.Add(defaultScssBundle);

По умолчанию.s css

@import "bootstrap/bootstrap.scss";

/* common styles */
.green {
    color: green;
}

.full-width {
    width: 100%;
}

Ошибка

During translation of SCSS code, readed from the file '/TestProject/Content/bootstrap/_alert.scss', to CSS code syntax error has occurred.
See more details:

Error: Undefined variable: "$alert-padding-y".
       on line 7:12 of Content/bootstrap/_alert.scss
>>   padding: $alert-padding-y $alert-padding-x;
  -----------^

Error code: 1
Description: Undefined variable: "$alert-padding-y".
File: /TestProject/Content/bootstrap/_alert.scss
Line number: 7
Column number: 12
Source fragment:

Line 6:   position: relative;
Line 7:   padding: $alert-padding-y $alert-padding-x;
-------------------^
Line 8:   margin-bottom: $alert-margin-bottom;

1 Ответ

0 голосов
/ 24 января 2020

После долгих проб и ошибок я обнаружил проблему. Посмотрев на образец в Github Repo , я вытащил следующие строки из BundleConfig.cs и теперь все работает.

defaultScssBundle.Builder = nullBuilder;
defaultScssBundle.Transforms.Add(styleTransformer);
defaultScssBundle.Transforms.Add(new CssMinify());
...