Как использовать React с Typescript и SASS

Я загружаю свое приложение с помощью создать-реагировать-приложение и хочу разрабатывать с использованием Typescript и SASS. Раньше я использовал Angular, где я мог легко ссылаться на файл SASS следующим образом:

@Component({
  selector: 'unit-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
  providers: []
})

В React я пытаюсь импортировать файл SASS следующим образом:

import s from "./mystyles.scss";

Но я получаю ошибку

Cannot find module "./mystyles.scss"

. Как я могу импортировать файл SASS в файл .tsx?

Оформить заказ создать-реагировать-приложение с Sass

Nino Filiu 08.03.2019 22:58
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
16
1
21 299
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Предполагая, что вы успешно установили node-sass в приложение TypeScript create-react-app React, точно так же, как Добавить/импортировать таблицу стилей CSS, выполнив следующие действия:

import './mystyles.css';

Для таблицы стилей SCSS вы просто измените тип файла:

import './mystyles.scss';

В вашем примере вам просто нужно рассматривать его как Импортируйте модуль только из-за его побочных эффектов вместо импорта по умолчанию, как вы сейчас пытаетесь.

Вы также можете рассматривать его как Модуль SCSS, изменив имя файла SCSS на mystyles.module.scss и импортировав его следующим образом:

import styles as './mystyles.module.scss';

Мне удалось реализовать обе части функциональности, выполнив следующие действия, поскольку поддержка Sass/SCSS встроена по умолчанию в проекты [email protected] и выше:

  1. Создал приложение TypeScript create-реагировать с помощью команды npx create-react-app my-app --template typescript
  2. Перешел в создание каталог и установите node-sass с помощью команды npm install --save node-sass
  3. Изменено сгенерированное по умолчанию App.css на App.scss
  4. Изменен импорт в App.tsx с import './App.css'; на import './App.scss';

Убедитесь, что у вас установлен node-sass. Если это не поможет, вам, возможно, придется пересмотреть, как вы создали/преобразовали свой create-react-app в TypeScript.

Вам нужно либо импортировать его как import './mystyles.scss';, либо поместить module в имя файла и импортировать как import whatever from './mystyles.module.scss';.

привет, вы можете поместить стили scss в переменную в файле TSX?

Barcode HJ 06.12.2020 19:20

Я пробовал, но у меня не работает, файл scss работает как простой css, когда я импортирую файлы scss как модули в компоненты (в моем react-ts-starter). Я не знаю, как обстоят дела с «create-react-app». @Штрих-код HJ

Goran_Ilic_Ilke 20.07.2021 15:17

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