使用 localIdentName 来自定义模块化的类名|学习笔记

简介: 快速学习使用 localIdentName 来自定义模块化的类名

开发者学堂课程【React 入门与实战:使用 localIdentName 来自定义模块化的类名】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/585/detail/8113


使用 localIdentName 来自定义模块化的类名


目录

一、设置样式

1.使用普通的 style 样式

2.启用 css-modules

3.使用 lo calI dent Name 自定义生成的类名格式,可选的参数有


一、设置样式

不难发现,在代码中设置类名是自动设置的,很有个性化,导致不知里面的内容,但同时也给大众了另一个参数,如下:

1.使用普通的 style 样式

<h1 style-{ {color: 'red ' , font weight: 200] }></h1>

2.启用 css-modules

1)修改 webpack.config.js 这个配置文件,为 css-loader 添加参数:

{ test: /\.css$/ , use: [ 'style-loader ' , 'css- loader? mod ules'] }

//.css 后缀名的样式表启用 CSS 模块化;

2)在需要的组件中,import 导入样式表,并接收模块化的 CSS 样式对象:

import cs50bj from '../css/cmtList.css'

3)在需要的 HTML 标签上,使用 class Name 指定模块化的样式:

<h1 class Name={css0bj.title}>评论列表组件</ h1>

3.使用 lo calI dent Name 自定义生成的类名格式,可选的参数有:

1[path]表示样式表,相对于项目根目录所在路径;

小部分代码设置:

{ test: /\.css$/, use: [ 'style-loader','css-loader ?modules &local Ident Name=[path]' }

//打包处理 css 样式表的第三方 loader.

执行结果:

{title: "src-css-", content: "src-css-", cmtbox: "src-css-"}

{"title: "src-css-"}

[WDS] Hot Module Replacement enabled.

2[name]表示样式表,文件名称;

小部分代码设置:

{ test: / \.css$/ , use: ['style-loader','css-loader ?modules &local Ident Name=[path][name]'] }

//打包处理 css 样式表的第三方 loader.

执行结果:

{title: "src-css- cmtitem", content: "src-css- cmtitem", cmtbox: "src-css- cmtitem"}

{title: "src-css- cmtlist"}

[WDS]Hot Nodule Replacement enabled.

(注意:如果执行结果中不带有“-”,在写代码时需要手动添加)

3[local]表示样式的类名,定义名称;

小部分代码设置:

{test: /\.css$/, use: ['style-loader', 'css-loader ?modules &local Ident Name=[path][name]-[1ocal]'] },

//打包处理 css 样式表的第三方 loader.

执行结果:

title: "src-css-cmtitem-title", content:"src-css-cmtitem-content" cmtbox: "src-css- cmtitem- cmtbox"]

{title: "src-css-cmtlist-title"}

[WDS] Hot Nodule Replacement enabled.

主要是说在生成模块化样式类名时,[path]表示里要包含所在路径;[name]表示title 所对应的里面应该包括自己的文件名;[local]表示在代码中叫 title,在生成类名中也应该带着 title

4[hash :length]表示32位的 hash 值。

“:”表示可以自定义几位 hash 值,因为如果取32位值会很长,所以在取 hash 值时,一般取到前五位数字或前六位数字,基本上不会重复,hash 就是防止类名重复。

小部分代码设置:

{ test: /.css$/, use: [ 'style-loader ','css- loader ?modules &lo calI dent Name=[path][name]-[local]-[hash:5] ']}

//打包处理 CSS 样式表的第三方 loader

执行结论:

{title: "src-css-cmtitem-title 800f6", content: "src-cs-cmtiten-content-2f774", cmtbox :"src-ss-cmtitem-cntobox-13da4""}

{title: "src-css-cmtlist-title-63767"}

CmtList2.jsx:45

[WDS]Hot Module Replacement enabled.

相关文章
|
2月前
|
开发者
ArkTS组件继承的高级用法
本文详细介绍了ArkTS中组件继承的高级用法,涵盖继承的概念、基本用法、多态、接口继承和抽象类的使用。通过具体示例,展示了如何在HarmonyOS应用开发中利用继承实现代码复用、功能扩展和模块化设计,提升开发效率和应用质量。
166 3
|
7月前
|
程序员 C语言 C++
【C++语言】继承:类特性的扩展,重要的类复用!
【C++语言】继承:类特性的扩展,重要的类复用!
|
8月前
|
JavaScript 开发者 索引
【亮剑】探讨了在TypeScript中为对象动态添加属性的三种方式
【4月更文挑战第30天】本文探讨了在TypeScript中为对象动态添加属性的三种方式:1) 使用索引签名允许添加任意属性,如`[key: string]: any`;2) 通过接口和类型别名提供编译时类型检查,例如`interface Person { name: string; age: number; }`;3) 利用类创建具有属性的对象,如`class Person { name: string; age: number; }`。每种方法有其适用场景,开发者可根据需求选择。
778 0
|
8月前
|
算法 开发者
【CMake 设计命名思路】自定义命令命名规范与风格指南
【CMake 设计命名思路】自定义命令命名规范与风格指南
106 0
|
8月前
|
缓存 JavaScript 前端开发
TypeScript 类的基础:从定义到实例化,让你快速掌握(一)
TypeScript 类的基础:从定义到实例化,让你快速掌握
|
8月前
|
存储 设计模式 JavaScript
TypeScript 类的基础:从定义到实例化,让你快速掌握(三)
TypeScript 类的基础:从定义到实例化,让你快速掌握
|
8月前
|
存储 JavaScript
TypeScript 类的基础:从定义到实例化,让你快速掌握(二)
TypeScript 类的基础:从定义到实例化,让你快速掌握
|
8月前
|
存储 JavaScript 前端开发
对象和类:JS是一种基于对象的语言,可以创建和使用自定义对象。ES6引入了类的概念,使得面向对象编程更加方便。
对象和类:JS是一种基于对象的语言,可以创建和使用自定义对象。ES6引入了类的概念,使得面向对象编程更加方便。
44 0
|
前端开发 JavaScript
前端祖传三件套JavaScript的对象之继承的组合继承
在 JavaScript 中,继承是一种非常重要的概念,它可以帮助我们避免重复代码的编写,并且提高代码的可维护性和可读性。JavaScript 中的继承有多种方式,其中组合继承是一种常见的方式。本文将介绍组合继承的概念、使用方法以及一些常见的注意事项。
111 0
|
Web App开发 Java
自定义JSP标签->概念->生命周期
自定义JSP标签->概念->生命周期
自定义JSP标签->概念->生命周期