Sass import не сканирует node_modules, чтобы найти подходящий пакет
Я использую bootstrap-sass. Модуль узла установлен. Я должен ожидать, что я могу, в любом файле.scss, использовать строку ниже, чтобы импортировать в соответствующий лист
@import 'bootstrap';
Я понимаю, что должно произойти, если компилятор сканирует до тех пор, пока не найдет package.json, не перескочит в node_modules и не найдет соответствующий пакет. Вместо этого я получаю ошибку ниже.
Ошибка: файл для импорта не найден или не читается: bootstrap
Если я заменю свой импорт полностью определенным путем, как показано ниже, то все будет работать неуклонно.
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap';
Я использую gulp-sass для компиляции. Думаю, у меня просто есть несколько незначительных битов конфигурации, но я не могу понять, что это такое.
2 ответа
Передайте путь как включающий путь.
Например. Это будет выглядеть примерно так, если вы используете gulp
.pipe($.sass({
includePaths: ['node_modules/bootstrap-sass/assets/stylesheets']
})
Тогда вы должны хорошо использовать:
@import 'bootstrap';
Он не будет импортировать такие вещи, как Javascript / Node.js. Он будет искать файл начальной загрузки в той же папке, что и файл, который его импортирует. Так что да, вам нужно использовать длинный путь или поместить файл начальной загрузки в ту же папку.