Using @use as * removes the namespace but can cause name conflicts, so use carefully.
Namespaces help keep your code organized and avoid mistakes when many files have similar names.
Always use meaningful short names to make your code easier to read.
Summary
@use as lets you rename a Sass file when importing it.
This helps keep your code short and clear.
Namespaces prevent naming conflicts and improve organization.
Practice
(1/5)
1. What does the @use 'colors' as c; statement do in Sass?
easy
A. It imports the 'colors' file and merges all variables globally.
B. It imports the 'colors' file and renames its namespace to 'c'.
C. It imports the 'colors' file without any namespace.
D. It imports the 'colors' file and disables all variables.
Solution
Step 1: Understand the @use rule
The @use rule imports a Sass file and creates a namespace for its variables and mixins.
Step 2: Analyze the as c part
The as c renames the namespace from the default (usually the filename) to c.
Final Answer:
It imports the 'colors' file and renames its namespace to 'c'. -> Option B
Quick Check:
@use with as renames namespace [OK]
Hint: Remember: @use 'file' as alias; renames namespace [OK]
Common Mistakes:
Thinking @use removes the namespace
Confusing @use with @import
Assuming variables become global without namespace
2. Which of the following is the correct syntax to import a Sass file buttons.scss with namespace btn?
easy
A. @use buttons as btn;
B. @use 'buttons.scss' btn;
C. @use 'buttons' as btn;
D. @use 'buttons' btn;
Solution
Step 1: Check the @use syntax
The correct syntax requires quotes around the filename and the keyword as before the alias.
Step 2: Validate each option
@use 'buttons' as btn; uses quotes and as correctly. Options A, C, and D miss quotes or the as keyword.
Final Answer:
@use 'buttons' as btn; -> Option C
Quick Check:
Quotes + as keyword = correct syntax [OK]
Hint: Always use quotes and 'as' for alias in @use [OK]
Common Mistakes:
Omitting quotes around filename
Forgetting the 'as' keyword
Adding file extension inside quotes unnecessarily
3. Given @use 'theme/colors' as c; and the file colors.scss contains $primary: #0055ff;, what is the correct way to use $primary in your styles?
medium
A. color: c.$primary;
B. color: $primary;
C. color: colors.$primary;
D. color: theme.colors.$primary;
Solution
Step 1: Understand namespace usage
When using @use 'file' as alias;, variables must be accessed with alias.variable.
Step 2: Apply alias to variable
Since the alias is c, the variable $primary is accessed as c.$primary.
Final Answer:
color: c.$primary; -> Option A
Quick Check:
Use alias.variable to access imported variables [OK]
Hint: Use alias.variable to access imported Sass variables [OK]
Common Mistakes:
Using variable without alias
Using original filename as namespace instead of alias
Trying to chain namespaces incorrectly
4. What is wrong with this Sass code?
@use 'utils' as u;
.button { color: $main-color; }
medium
A. Variable $main-color is used without namespace prefix.
B. Missing semicolon after @use statement.
C. The alias 'u' cannot be a single letter.
D. The file 'utils' cannot be used with @use.
Solution
Step 1: Verify the @use syntax
The @use 'utils' as u; statement correctly imports the file with namespace u.
Step 2: Check variable usage
Since @use 'utils' as u; creates a namespace u, variables inside must be accessed as u.$main-color. Using $main-color alone causes an error.
Final Answer:
Variable $main-color is used without namespace prefix. -> Option A
Quick Check:
Variables need namespace prefix after @use [OK]
Hint: Always prefix variables with alias after @use [OK]
Common Mistakes:
Forgetting to prefix variables with alias
Assuming @use imports variables globally
Thinking alias must be longer than one letter
5. You have two Sass files: colors.scss with $primary: #333; and buttons.scss with $primary: #555;. How do you import both files in main.scss using @use with aliases c and b to avoid naming conflicts and use both $primary variables?