Как включить внешние библиотеки в проект ITCSS?
У меня есть эта структура внутри моего main.scss:
//******** ITCSS layers :: https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/
//** 1. Settings – used with preprocessors and contain font, colors definitions, etc.
//** 2. Tools – globally used mixins and functions. It’s important not to output any CSS in the first 2 layers.
//** 3. Generic – reset and/or normalize styles, box-sizing definition, etc. This is the first layer which generates actual CSS.
//** 4. Elements – styling for bare HTML elements (like H1, A, etc.). These come with default styling from the browser so we can redefine them here.
//** 5. Objects – class-based selectors which define undecorated design patterns, for example media object known from OOCSS
//** 6. Components – specific UI components. This is where majority of our work takes place and our UI components are often composed of Objects and Components
//** 7. Trumps – utilities and helper classes with ability to override anything which goes before in the triangle, eg. hide helper class
//********
// Settings
@import "settings/settings.global";
// Tools
@import "tools/tools.extend";
@import "tools/tools.mixin";
// Elements
@import "elements/elements.page";
// Components
@import "components/components.overlay";
@import "components/components.slice";
@import "components/components.text";
// Trumps
@import "trumps/trumps.utilities";
Внутри моего index.html я включаю main.css и через bower или npm другие внешние библиотеки, такие как normalize, bootstrap-grid или animate.css. Как правильно импортировать другие библиотеки? До, после или внутри main.scss? У меня есть это сомнение, потому что важно не выводить CSS в первых двух слоях. Кроме того, часто эти файлы являются чистыми css, и я не могу @import это внутри моего *.scss.
Спасибо
<head>
<!--build:css css/main.min.css -->
<link rel="stylesheet" href="bower_components/normalize-css/normalize.css">
<link rel="stylesheet" href="bower_components/bootstrap-v3-grid/bootstrap-v3-grid.css">
<link rel="stylesheet" href="style/css/main.css">
<!-- endbuild -->
</head>
1 ответ
Я бы символическую ссылку Normalize.css в файл Sass (_generic.normalize.scss
) и импортируйте его в общий слой.
Я бы символическую ссылку Bootstrap на файл Sass (_objects.grid.scss
) и импортируйте его в слой объектов.
Это сохранит порядок ITCSS и сократит ваш CSS, блокирующий рендеринг, до одного HTTP-запроса.