Transpile sass files using the build package and the dart implementation of sass.
1. Create a pubspec.yaml
file containing the following code:
dependencies:
# (optional) depend on the latest version of packages providing sass sources
bootstrap_sass: any
dev_dependencies:
# update to the latest versions
sass_builder: ^2.1.2
build_runner: ^2.1.7
2. Create web/main.scss
containing the following code:
@use "sub";
@use "package:bootstrap_sass/scss/variables" as bootstrap;
.a {
color: blue;
}
.c {
color: bootstrap.$body-color;
}
3. Create web/_sub.scss
containing the following code:
.b {
color: red;
}
4. Create web/index.html
containing the following code:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sample</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div class="a">Some Text</div>
<div class="b">Some Text</div>
<div class="c">Some Text</div>
</body>
</html>
5. Run dart run build_runner serve
and then go to localhost:8080
with a browser
and check if the file web/main.css
was generated containing:
.b {
color: red;
}
.a {
color: blue;
}
.c {
color: #373a3c;
}
To configure options for the builder see the build_config
README.
outputStyle
: Supportsexpanded
orcompressed
. Defaults toexpanded
in dev mode, andcompressed
in release mode.sourceMaps
: Whether to emit source maps for compiled css. Defaults totrue
in development mode and tofalse
in release mode.
Example that compresses output in dev mode:
targets:
$default:
builders:
sass_builder:
options:
outputStyle: compressed