对于如何在create-react-app中使用CSS模块?感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍react怎么写css,并为您提供关于2019最新create-react-app创建
对于如何在create-react-app中使用CSS模块?感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍react怎么写css,并为您提供关于2019最新create-react-app创建的react中使用sass/scss,以及在react中使用sass/scss公共变量的方法、asp.net – 如何在asp net core api中使用Created(或CreatedAtAction / CreatedAtRoute)、create-react-app 如何使用 less,sass 和 react-css-modules?、create-react-app中使用sass的有用信息。
本文目录一览:- 如何在create-react-app中使用CSS模块?(react怎么写css)
- 2019最新create-react-app创建的react中使用sass/scss,以及在react中使用sass/scss公共变量的方法
- asp.net – 如何在asp net core api中使用Created(或CreatedAtAction / CreatedAtRoute)
- create-react-app 如何使用 less,sass 和 react-css-modules?
- create-react-app中使用sass
如何在create-react-app中使用CSS模块?(react怎么写css)
根据Dan Abramov
的推文,CSS模块支持位于create-
react-app(CRA)中。只需扩展module.css
其样式表即可启用该功能,但这对我不起作用。我的版本为1.1.4 react-scripts
。如何使用CRA启用CSS模块?谢谢
答案1
小编典典您无需弹出。
从版本2开始,Create React App就立即支持CSS模块,该版本现已稳定。
通过运行或升级到v2(react-scripts@latest
)。yarn upgrade react-scripts@latest``npm install--save react-scripts@latest
您只需要创建带有扩展名的文件 .module.css
例如:
.myStyle { color: #fff}
然后,您可以像这样使用它:
import React from ''react''import styles from ''./mycssmodule.module.css''export default () => <div className={styles.myStyle}>We are styled!</div>
2019最新create-react-app创建的react中使用sass/scss,以及在react中使用sass/scss公共变量的方法
Sass(英文全称:Syntactically Awesome Stylesheets)是一个最初由Hampton Catlin设计并由Natalie Weizenbaum开发的层叠样式表语言。Sass是一个将脚本解析成CSS的脚本语言,即SassScript。Sass包括两套语法。最开始的语法叫做“缩进语法”,与Haml类似,使用缩进来区分代码块,并且用回车将不同规则分隔开。而较新的语法叫做“SCSS”,使用和CSS一样的块语法,即使用大括号将不同的规则分开,使用分号将具体的样式分开。通常情况下,这两套语法通过.sass和.scss两个文件扩展名区分开。相信每个前端开发者都对这种css预处理器有所耳闻。
小提示: 在使用不同的预处理器时,请根据预处理的文档替换build-css和watch-css命令。
react sass scss设置全局变量全局函数
-
1.安装 sass-resources-loader
-
2.暴露配置文件 npm run eject //如果这一步报错,可能是安装了git后出现的问题,解决方案是:
-
git add .
-
git commit -am "Save before ejecting"
-
npm run eject
-
这样就能eject了
-
3.修改 config 里面的 webpack.config.js
提示: ''./../src/common.scss'' 这个是我的公共的sass路径 根据你自己的来配置
asp.net – 如何在asp net core api中使用Created(或CreatedAtAction / CreatedAtRoute)
这是我尝试过的:
我有一个Get资源,我想指出.它需要一个ID作为输入:
[HttpGet("/${id}",Name = "GetProduct")] [ProducesResponseType(typeof(Produkt),200)] public IActionResult Get([Fromroute] int id) { // some code... return Ok(...); }
当通过我的POST路由创建产品时,我想通过Location标头指向此资源:
尝试1
[HttpPost] [ProducesResponseType(typeof(Produkt),200)] public IActionResult CreateNewProduct([FromBody] ProduktDtoForCreate productFromBody) { //... return CreatedAtRoute("GetProduct",new { id = productToCreate.Id },productToCreate); }
这将返回位置标题:http://localhost:5000/ $15003
尝试2
[HttpPost] [ProducesResponseType(typeof(Produkt),200)] public IActionResult CreateNewProduct([FromBody] ProduktDtoForCreate productFromBody) { //... return Created(new Uri($"{Request.Path}/{productToCreate.Id}",UriKind.Relative),productToCreate); }
这个工作并返回/api/v1.0/produkte/16004,但似乎不需要使用当前请求指向新位置.另外我不确定这是不是很好的做法?
解决方法
create-react-app 如何使用 less,sass 和 react-css-modules?
- create-react-app 如何使用 less?
- create-react-app 如何使用 sass?
- create-react-app 如何使用 react-css-modules?
Thanks @pengzeya
1.create-react-app 如何使用 less?
安装 less-watch-compiler 到开发依赖。
|
|
添加 scripts
|
|
运行命令
|
|
运行结果
创建 css 目录并生成编译后的 index.css 文件
|
|
程序运行起来后,会监控对应目录下的.less 文件,热更新到 css 目录下。
参考:https://github.com/facebook/create-react-app/issues/3457
2.create-react-app 如何使用 sass?
安装 node-sass-chokidar 到依赖
|
|
添加 scripts
|
|
运行命令
|
|
运行结果
创建 css 目录并生成编译后的 index.css 文件
|
|
程序运行起来后,会监控对应目录下的.scss 文件,热更新到 css 目录下。
参考:https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-a-css-preprocessor-sass-less-etc
3.create-react-app 如何使用 react-css-modules?
暴露出配置文件:
|
|
运行 eject 命令后,CRA 会自动把 wepack 中与 css-modules 相关的依赖为我们准备好,无需新增多余的依赖。
修改 config/webpack.config.dev.js:
|
|
修改 config/webpack.config.prod.js:
|
|
代码变化:
引入 CSS Modules 之前:
|
|
引入 CSS Modules 之后:
|
|
添加 css-modules 之前:
|
|
添加 css-modules 之后:
|
|
运行结果
|
|
注意事项:
- 将 import 进来的’./SomeComponent.css’分配给一个本地常量,例如,import foo from ‘./foo.css’;
- 在 JSX 中将 className 替换成的形式 {styles.myClass},例如,className={styles.myClass}.
- 需要修改 CSS 文件和 JSX 中的 class 名。因为 CSS Modules 不允许”-“出现在类名中,有过开发经验的朋友都知道,正则中有”word” 与”none-word” 之分,word 包括 0~9,a~z 以及下划线。而”-“不属于单词,因此 CSS Modules 不支持。例如我们需要将.Foo.bar 修改为.bar,某些方面也简化了我们的代码。使用 CSS Modules 之后,我们就不需要再使用 BEM 之类的 CSS 规范。
参考:https://medium.com/nulogy/how-to-use-css-modules-with-create-react-app-9e44bec2b5c2
create-react-app中使用sass
环境:
react:^17.0.2
create-react-app:4.0.3
首先,安装sass
yarn add -dev node-sass ||
yarn add --dev node-sass@npm:dart-sass@1.25.0 //* 注意,在create-react-app不能使用dart-sass,想使用的话需要让它以为是node-sass
安装好以后就可以使用sass了,比如新建test.scss
进行使用
* 注意,这里新建的文件为.scss
后缀,而不是.sass
也可以使用module.css
,新建.module.scss
文件使用
今天的关于如何在create-react-app中使用CSS模块?和react怎么写css的分享已经结束,谢谢您的关注,如果想了解更多关于2019最新create-react-app创建的react中使用sass/scss,以及在react中使用sass/scss公共变量的方法、asp.net – 如何在asp net core api中使用Created(或CreatedAtAction / CreatedAtRoute)、create-react-app 如何使用 less,sass 和 react-css-modules?、create-react-app中使用sass的相关知识,请在本站进行查询。
本文标签: