大多数大型CSS CodeBases需要复杂的命名方案来帮助避免全局命名空间中的命名冲突。CSS模块通过为单个CSS文件中的所有类名创建本地范围来解决这些问题。此文件导入到JavaScript模块,其中CSS类被称为字符串。然后,在构建流水线(WebPack,Browserify等)中,替换类名为生成的唯一字符串。这是责任的重大变化。以前,人类必须管理全球名称空间,以避免课堂命名冲突;现在责任依赖于构建工具。我们遇到的CSS模块的一个小缺点:功能测试通常从本地范围中脱离,因此不能通过CSS文件中定义的名称引用类。我们建议使用ID或数据属性。
大多数大型CSS CodeBases需要复杂的命名方案来帮助避免全局命名空间中的命名冲突。CSS模块通过为单个CSS文件中的所有类名创建本地范围来解决这些问题。此文件导入到JavaScript模块,其中CSS类被称为字符串。然后,在构建流水线(WebPack,Browserify等)中,替换类名为生成的唯一字符串。这是责任的重大变化。以前,人类必须管理全球名称空间,以避免课堂命名冲突;现在责任依赖于构建工具。我们遇到的CSS模块的一个小缺点:功能测试通常从本地范围中脱离,因此不能通过CSS文件中定义的名称引用类。我们建议使用ID或数据属性。