Css 使用sass加载程序赢得';t在React中动态导入类
我的目标是使用动态类导入Css 使用sass加载程序赢得';t在React中动态导入类,css,reactjs,import,sass,Css,Reactjs,Import,Sass,我的目标是使用动态类导入scss类 我似乎有一些用法,比如在,并希望在我的项目中做一些类似的事情 // App.js import classes from './App.scss' ... <div className={classes.App}/> 问题是那些css更改不会发生,使用dev工具我可以看到没有一个类是HTML的一部分 更改className='App',将起作用 我已经使用命令npm install node sass-S执行SCSS安装过程 我发现一个名为
scss类
我似乎有一些用法,比如在,并希望在我的项目中做一些类似的事情
// App.js
import classes from './App.scss'
...
<div className={classes.App}/>
- 问题是那些
css
更改不会发生,使用dev工具
我可以看到没有一个类是HTML的一部分
- 更改
className='App'
,将起作用
- 我已经使用命令
npm install node sass-S
执行SCSS
安装过程
我发现一个名为的模块可以处理请求,但在完成了指南中的步骤后,它仍然无法工作。这种结构称为CSS模块。如果使用create react app
,请应用以下步骤
1) 首先安装节点sass
模块
npm install node-sass
2) 使用扩展名.module.SCSS
保存您的SCSS
文件。例如:
App.module.scss
3) 按如下方式导入此文件:
import classes from "./App.module.scss";
<div className={classes.App}>
4) 现在,您可以像这样应用样式:
import classes from "./App.module.scss";
<div className={classes.App}>
成功了,谢谢!但是,是否有任何方法可以在不更改scss
文件扩展名的情况下解决此问题?在项目Ambar
(上面的链接)中,他们似乎只是用一个简单的.scss
扩展名调用了他们的scss
文件。据我所知,您必须添加.module.scss
扩展名。这就是CSS模块的工作原理@YanivGKI认为这与webpack.config.js
设置有关。有一个与css扩展相关的正则表达式
,在sass加载器的文档中提到了它。因为我使用的是react脚本
来管理设置,而不是webpack
,所以我决定使用module.scss
解决方案。所以我会解决这个问题-再次感谢。