reactjs - 如何将 React 与 Typescript 和 SASS 结合使用

标签 reactjs sass

我正在使用 create-react-app 引导我的应用程序我想使用 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 文件中?

最佳答案

假设您已成功安装node-sass在 TypeScript 中 create-react-app React 应用程序,就像您一样 Add/import a CSS stylesheet通过执行以下操作:

import './mystyles.css';

对于 SCSS 样式表,您只需更改文件类型:

import './mystyles.scss';

在您的示例中,您只需将其视为 Import a module for its side effects only而不是像您当前尝试的那样默认导入。

您也可以将其视为 SCSS Module将 SCSS 文件名更新为 mystyles.module.scss并按如下方式导入:

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

我能够通过执行以下操作来实现这两项功能,因为 react-scripts@2.0.0 中默认内置了 Sass/SCSS 支持。和更高的项目:

  1. 使用命令 npx create-react-app my-app --template typescript 创建了一个 TypeScript create-react-app
  2. 导航至创建 目录并使用命令 npm install --save node-sass 安装 node-sass
  3. 更改了默认生成的 App.cssApp.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'; .

关于reactjs - 如何将 React 与 Typescript 和 SASS 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55071266/

相关文章:

javascript - React 中出现错误 "props.data.map is not a function"

css - 有效地迭代视网膜和非视网膜图像的 sass 变量列表

html - 如何在 <td> 中制作水平滚动条代码块?

html - 在多张图像上添加删除按钮

reactjs - 在 Leaflet 中拖动后获取更新的坐标

reactjs - 检测 React 中的 URL 参数更改

sass - 如何使 Susy Sass 位置正常工作并将元素与中心列对齐

css - Ionic 2 动画(使用 Angular2)=> 来自 variable.scss 的颜色, `Failed to execute ' animate' on 'Element' : Partial keyframes are not supported

javascript - 将 Webshim polyfill 与 ReactJS 一起使用是否安全

javascript - React Router 路径变量也与其他路径一样,React 无法区分