Алгоритм, который Node.js использует для разрешения вызова require()
, очень четко задокументирован в псевдокоде.
Мне нужно то же самое для оператора Sass @import
.
Я знаю, что @import 'foo'
будет пробовать различные комбинации базовых имен foo
и _foo
с расширениями .scss
и .sass
в том же каталоге, что и файл импорта, а также относительно любого из настроенных "путей загрузки"... Но в каком порядке они попробовал, т. е. что имеет приоритет, если есть несколько файлов, которые могли бы удовлетворить @import
? Влияет ли запуск с ./
или ../
на попытки загрузки путей? Есть ли какие-то другие вещи, которые я не рассмотрел? А как насчет .css
файлов?
В руководстве не говорится ничего, кроме "Sass умен и все сделает за вас". ." справочные документы содержат более подробные сведения, но не разъясняют шаги разрешения.
Может ли кто-нибудь предоставить точный алгоритм, который он использует, в псевдокоде?