Angular с использованием scss / sass и css в одном проекте

Я знаю, что в одном проекте можно использовать как css, так и sass / scss. Я посмотрел на вопрос SO, где это было задано, но из того, что я увидел, появилось много предупреждений при использовании css в качестве styleExt в файле angular_cli.json.

  1. Рекомендуется ли это делать?
  2. Следует ли мне переименовать все файлы .css в sass / scss?
  3. Что лучше scss / sass, я думаю, scss?
  4. Любая рекомендуемая процедура для изменения / преобразования, просто переименование или это необходимо?

Вы используете css в файлах scss / sass.

Melchia 14.06.2018 14:31
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
6
1
3 437
5

Ответы 5

Если вы видите angular-cli.json, "styles": - это массив. Таким образом, это должно позволить нам добавить несколько файлов стилей в виде массива, разделенного запятыми. Это должно удалить предупреждения.

Однако я считаю, что в вашем приложении лучше использовать похожие стили. Если вы хотите преобразовать все свои файлы в scss / sass, вы можете сделать это следующим образом:

  1. Переименуйте файл css в .scss / .sass. Например: my-file.css - my-file.scss.
  2. В каждом соответствующем файле .component.ts обновите styleUrls, указав имя файла .scss/.sass. Например: styleUrls: ['my-file.css'] в styleUrls: ['my-file.scss']
  3. Измените styles:[ "styles.css"], в angular-cli.json на styles:["styles.scss],, и это должно сработать!

Вы можете узнать больше о sass / scss здесь: Руководство по Sass Lang

1. В случае местного стиля это не рекомендуется. Поскольку обрабатывать оба типа для каждого компонента в angular слишком сложно. Но для глобальный стиль, отложить загрузку CSS или встроенный CSS вы можете выбрать это как вариант.

Для 2. 3. Используйте .scss, если у вас уже есть коды .css. Каждый код .css может быть включен в файлы .scss. Для получения более подробной информации прочтите эта ссылка.

4. Есть хорошие описания в ответе Сурангшу и https://angular.io/guide/component-styles#component-styles и связь в 1.

Переименуйте свои файлы с sass в scss. Scss признан во всем мире, sass - это просто синтаксис другого языка, производного от css. Компиляторы распознают scss.

Используйте эту команду, чтобы изменить расширения вашего проекта

ng set defaults.styleExt=scss

Вручную измените .angular.json:

"styleExt": "scss"

Вы также можете изменить расширения вручную, ничего не происходит.

Если вы используете последнюю версию angular-cli, вы должны использовать ее для изменения css на sass

ng config schematics.@schematics/angular:component.styleext scss
  1. Не рекомендуется, но это возможно.
  2. Да и поменять его в компонентах.
  3. Они подобны. Основное отличие заключается в синтаксисе. В чем разница между SCSS и Sass?
  4. У вас должен быть файл для переменных. И какая-то папка для общих стилей / миксинов и прочего многоразового использования.

Я обнаружил, что лучшей процедурой была (Angular 5): сначала клонировать репозиторий U'r.

1. find . -name "*.css" -exec bash -c 'mv "$1" "${1%.css}".scss' - '{}' \;
2. Vscode: find .css replace to .scss
3. npm install to make sure that .css files in the node_modules are not messed up.

И это работало без ЛЮБЫХ ошибок.

ИДТИ!

Другие вопросы по теме