99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Taro 使用 CSS Modules

2021-09-30 17:52 更新

    用法

    Taro 中內(nèi)置了 CSS Modules 的支持,但默認是關閉的,如果需要開啟使用,請先在編譯配置中添加如下配置。

    小程序端開啟

    1. weapp: {
    2. module: {
    3. postcss: {
    4. // css modules 功能開關與相關配置
    5. cssModules: {
    6. enable: true, // 默認為 false,如需使用 css modules 功能,則設為 true
    7. config: {
    8. namingPattern: 'module', // 轉換模式,取值為 global/module,下文詳細說明
    9. generateScopedName: '[name]__[local]___[hash:base64:5]'
    10. }
    11. }
    12. }
    13. }
    14. }

    H5 端開啟

    1. h5: {
    2. module: {
    3. postcss: {
    4. // css modules 功能開關與相關配置
    5. cssModules: {
    6. enable: true, // 默認為 false,如需使用 css modules 功能,則設為 true
    7. config: {
    8. namingPattern: 'module', // 轉換模式,取值為 global/module,下文詳細說明
    9. generateScopedName: '[name]__[local]___[hash:base64:5]'
    10. }
    11. }
    12. }
    13. }
    14. }

    設置轉換模式

    推薦使用自定義轉換模式,這樣的話就不會影響到一些第三方庫的樣式了

    在開啟之后,你就可以在 Taro 中使用 CSS Modules 功能了,值得注意的是,Taro 中使用 CSS Modules 有兩種模式,分別為全局轉換部分自定義轉換模式,通過 namingPattern 配置進行控制

    namingPattern 配置取值分別如下:

    • global,表示全局轉換,所有樣式文件都會經(jīng)過 CSS Modules 轉換處理,除了文件名中包含 .global. 的樣式文件
    • module,表示自定義轉換,只有文件名中包含 .module. 的樣式文件會經(jīng)過 CSS Modules 轉換處理

    generateScopedName 支持傳入字符串和函數(shù):

    • 字符串,其格式見:https://github.com/webpack/loader-utils#interpolatename,值得指出的是,可使用 [local] 取其原類名
    • 函數(shù),其類型定義為 (localName: string, absoluteFilePath: string) => string,其中 localName 為原類名,absoluteFilePath 為文件的絕對路徑,返回值將作為新的類名

    用法示例

    CSS Modules 使用方式如下

    組件樣式

    1. .test {
    2. color: red;
    3. .txt {
    4. font-size: 36px;
    5. }
    6. }

    組件 JS 中使用樣式

    1. import Taro, { Component } from '@tarojs/taro'
    2. import { View, Text } from '@tarojs/components'
    3. import styles from './Test.module.scss'
    4. export default class Test extends Component {
    5. constructor(props) {
    6. super(props)
    7. this.state = { }
    8. }
    9. render () {
    10. return (
    11. <View className={styles.test}>
    12. <Text className={styles.txt}>Hello world!</Text>
    13. </View>
    14. )
    15. }
    16. }


    以上內(nèi)容是否對您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號
    微信公眾號

    編程獅公眾號