У меня есть следующая команда sass ...
sass /.../web/ui/src/components/viewport/index.style.scss --load-path=/.../web/ui/node_modules
Который компилируется ...
@use "@material/top-app-bar/variables" as top-bar;
:host{
...
height: calc( 100% - #{top-bar.$row-height} );
...
}
Это работает нормально, и я вижу вывод в stdout
:host {
...
height: calc( 100% - 64px );
...
}
Теперь я пытаюсь запустить его через execSyn c, используя узел в моем модуле накопительного пакета ...
load(id) {
if(!id.endsWith('.scss')|| !id.endsWith('.sass')) return null;
const a = execSync(`sass ${id} --load-path=${loadPath}`);
return {
code: `export default \`${a.toString('utf8')}\``
}
},
Кажется, что он выполняет ту же команду в соответствии с журналом консоли (я использую абсолютный пути, поэтому местоположение не должно иметь значения). Однако, это бросает ...
Error: Could not load /.../web/ui/src/components/viewport/index.style.scss (imported by /.../web/ui/src/components/viewport/index.mjs): Command failed: sass /.../web/ui/src/components/viewport/index.style.scss --load-path=/.../web/ui/node_modules
Error: Expected digit.
height: calc( 100% - #{top-bar.$row-height} );
Почему это происходит и как мне заставить это работать? Полный проект доступен здесь