Dart Sass @import
しばらくメンテナンスされていないCSS Framework
を使用する為に、勉強がてら@use
や@forward
に書き換えようと思って、調べてみました。
2022年10月1日で、Dart Sass
の@import
が廃止される予定でした。
2022年10月1日を過ぎた現在でも、延期になったみたいで、@import
は廃止されていません。
検索すると、廃止されると書いてある過去記事が、うんざりするほど、一杯表示されます。
未だに廃止されていないので、記事を書き換えるか削除してほしいです。
@use
と@forward
の説明が、ややこしくて、さっぱりわかりません。
@use
今までだと、@import "variables"
の一文だけで済んでいたと思います。
PHP
の名前空間のように、_variables.scss
の中に定義した変数を使う時、@use
で宣言します。
100ファイルあったとしても、変数を使うのなら、全てに@use
が、必要になるはずです。
しかし、@use
を記述したファイルを、別のファイルから@use
するので、??と思います。
@forward
@forward
は、転送だと説明している人もいるけど、いまいち、わかりませんでした。
@forward
を使わなくても、@use
で直接、ファイルを指定する方法もあります。
mixins
フォルダの中に、複数のファイルがあって、名前空間をmixins
で、まとめたいという場合は、@forward
を使うことになるのかな?
フォルダの中に<フォルダ名>/_index.scss
を作った場合は、便利そうだと思いました。
_index.scssの例
例えば、mixins
というフォルダがあって、_color.scss
と_shadow.scss
があったとします。
拡張子は省略できますが、わかりやすいかな?と思って、記述しています。
@use "mixins/color.scss" as *; @use "mixins/shadow.scss" as *;
mixins/_index.scss
があれば、下記の通りで済みます。
@use "mixins" as *;
mixins/_index.scss
の中身
@forward "./color.scss"; @forward "./shadow.scss";