С помощью node-sass можно экспортировать проект sass, так что пользователь может потребовать его вместо жесткого кодирования пути к библиотеке.
Хотя эта функция очень удобна, она также ненастолько часто, что если я npm устанавливаю пакет sass, который хочу включить в свой основной файл, мне всегда нужно сначала жестко прописать путь к файлу основного пакета поставщика.
Допустим, я хочу использовать sassпакет с именем breakpoint
, который я ранее установил с помощью npm.Этот пакет не экспортирует основной файл, поэтому я не могу требовать его.Сначала я должен жестко прописать путь в моем файле scss:
@import "../../../node_modules/name-of-vendor/breakpoint/sass/core/main"
с помощью includePath
. Мне может потребоваться пакет в моем файле конфигурации node-sass или в моей задаче.-runner config file и затем просто включите пакет по его имени в мой файл scss:
с grunt:
module.exports = function( grunt ) {
require( "load-grunt-tasks" )( grunt );
// sass includes
var bourbon = require( "bourbon" ).includePaths,
normalize = require( "node-normalize-scss" ).includePaths,
breakpoint = require( "breakpoint-sass" ).includePaths;
grunt.initConfig( {
sass: {
dist: {
files: {
"test/css/master.css": "test/css/master.scss"
},
options: {
sourceMap: true,
outputStyle: "expanded",
sourceComments: true,
includePaths: [
bourbon,
normalize,
breakpoint
]
}
}
}
grunt.registerTask( "default", [ "sass" ] );
}
и в моем основном файле scss я просто импортирую его по его имени
@import "breakpoint";
Сейчас я просто копирую и вставляю другой код, такой как код, используемый Бурбон или node-normalize-scss , но яне могу понять, что именно я делаю и как это сделать правильно.Также кажется, что нет документации, которая могла бы научить меня, как это сделать.
Итак, как правильно экспортировать проект node-sass и использовать includePath?