sass-loader не может разрешить правило @use - PullRequest
0 голосов
/ 27 марта 2020

Я работаю над приложением vuejs и пытаюсь импортировать файлы переменных с использованием правила @use в prependData в sass-loader, но, похоже, оно работает неправильно. Использование @use импорт не работает, и я получаю ошибки о переменных. Но с использованием @import все идет хорошо. Я делаю что-то не так или получаю неправильное представление о @use правиле?

Использование @import в prependData работает:

css: {
  loaderOptions: {
    sass: {
      implementation: require('sass'),
      sassOptions: {
        indentedSyntax: true
      },
      // prependData: `@use '~abstracts/variables'` //this does not work
      prependData: `@import '~abstracts/variables'` //this works
    }
  }
}

Использование @use не работает:

Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Undefined variable.
   ╷
15 │     color: $chuck
   │            ^^^^^^
   ╵

Мой пакет. json:

"sass": "^1.26.3",
"sass-loader": "^8.0.2"

Мой компонент:

<style lang="sass">
    .title
        color: $chuck
</style>

Мои переменные. Файл Sass:

$chuck: #BADA55

ТИА

1 Ответ

0 голосов
/ 31 марта 2020

Я только что понял, чего мне не хватало.

Просто добавьте as *:

css: {
  loaderOptions: {
    sass: {
      implementation: require('sass'),
      sassOptions: {
        indentedSyntax: true
      },
      prependData: `@use '~abstracts/variables' as *`
    }
  }
}

I'm just getting used to this new way of using sass.


...