UPDATE: If you plan to implement the
export
solution, you must place it in a separate file to prevent redundant e
Some improvements to the accepted answer:
Use camelcase so you will be able to individually export a variable.
Set the @each
directive outside so it won't generate a new :export
at-rule for each variable.
_variables.scss
$theme-colors: (
'someColor': #000,
'anotherColor': #FFF,
);
:export {
@each $key, $value in $theme-colors {
#{unquote($key)}: $value;
}
}
app.js
import styles from './core-styles/brand/_variables.scss' // { anotherColor: "#FFF", someColor: "#000" }
import { someColor } from './core-styles/brand/_variables.scss' // #000
Side note: I prefer using quotes inside Sass Maps, but you can omit them.