国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

03-loader使用

這篇具有很好參考價(jià)值的文章主要介紹了03-loader使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

loader其實(shí)就是解析器,用來解析模塊的,前面說到過webpack只認(rèn)識(shí)js和json文件。配置方式如下:

  • module.rules
  • rules下放的是一個(gè)個(gè)的rule,一個(gè)rule對(duì)應(yīng)一種解析規(guī)則。rule是一個(gè)對(duì)象,可設(shè)置多個(gè)屬性:
    • test:對(duì)于模塊資源進(jìn)行匹配,通常使用正則表達(dá)式
    • use:
      • loader:必須有一個(gè)loader,對(duì)應(yīng)的值為一個(gè)字符串;
      • options:可選屬性,值為字符串或?qū)ο?,值?huì)被傳到loader中。
    • loader:rule.ues的簡寫。

處理css

css樣式

  1. 安裝用來解析css的loader:npm i css-loader style-loader

  2. 在webpack的配置文件中使用配置css的解析規(guī)則:

     module:{
        rules:[
          {
            test:/\.css$/,
            use:["style-loader","css-loader"]
          }
        ]
      }
    

經(jīng)過上述操作我們就可以使用css了,下面進(jìn)行css使用的測試:

  1. 在src下新建style目錄,并在目錄下編寫index.css文件。

    body,
    html {
      height: 100%;
      padding: 0px;
      margin: 0px;
    }
    
    #app {
      color: #1890FF;
      text-align: center;
      font-weight: 700;
      line-height: 100px;
    }
    
  2. 在index.js文件中引入index.css。

    import './style/index.css'
    
  3. 重新執(zhí)行npm run serve可以看到頁面的字體的樣式。(每次修改webpack的配置都需要重啟服務(wù))

使用less

  1. 安裝解析less的loader:npm i less less-loader

  2. 編寫less解析的規(guī)則

    {
        test:/\.less$/,
        use:["style-loader","css-loader","less-loader"]
    }
    

使用postCSS

PostCSS是一個(gè)通過JavaScript來轉(zhuǎn)換樣式的工具;這個(gè)工具可以幫助我們進(jìn)行一些CSS的轉(zhuǎn)換和適配,比如自動(dòng)添加瀏覽器前綴、css樣式的重置;但是實(shí)現(xiàn)這些工具,我們需要借助于PostCSS對(duì)應(yīng)的插件。

如何使用PostCSS
  1. 查找PostCSS在構(gòu)建工具中的擴(kuò)展,比如webpack中的postcss-loader
  2. 選擇可以添加你需要的PostCSS相關(guān)的插件
postcss-loader

在webpack中使用postcss就是使用postcss-loader來處理的;安裝:npm install postcss-loader autoprefixer -D

rules:[
      {
        test:/\.css$/,
        use:["style-loader","css-loader",{
          loader:"postcss-loader",
          options:{
            postcssOptions:{
              plugins:[
                require("autoprefixer")
              ]
            }
          }
        }]
      }
]

比如:**user-select: none;**會(huì)被打包為:

#app{
    height:100%;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
postcss-preset-env

比autoprefixer更好用,可以把十六進(jìn)制八位轉(zhuǎn)為rgba。npm install postcss-preset-env -D

rules:[
      {
        test:/\.css$/,
        use:["style-loader","css-loader",{
          loader:"postcss-loader",
          options:{
            postcssOptions:{
              plugins:[
                require("postcss-preset-env")
              ]
            }
          }
        }]
      }
]
postcss.config.js

將postcss的配置單獨(dú)抽出來。

module.exports = {
  plugins:[
    require('postcss-preset-env')
  ]
}
@import樣式處理

在我們使用@import的時(shí)候,如果按照上述寫法配置webpack則不會(huì)讓postcss處理@import的CSS,因?yàn)槭峭ㄟ^js去先找到當(dāng)前的css由于@import是CSS語法,所以不會(huì)讓postCSS解析,下面這個(gè)配置可以讓其加載。

rules:[
      {
        test:/\.css$/,
        use:["style-loader",{
          loader:"css-loader",
          options:{
            importLoaders:1
          }
        },{
          loader:"postcss-loader",
          // 可以在postcss.config.js里面配置
          // options:{
          //   postcssOptions:{
          //     plugins:[
          //       require("autoprefixer")
          //     ]
          //   }
          // }
        }]
      }
]
封裝style處理規(guī)則loader

因?yàn)殛P(guān)于style樣式處理用相同的一部分,所以封裝簡寫代碼

const { resolve } = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')

const getCssLoaders = (loaders = []) => ( ['style-loader', {
  loader: 'css-loader',
  options: {
    importLoaders: 1
  }
}, 'postcss-loader' , ...loaders])

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: resolve(__dirname, './dist')
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './public/index.html'
    })
  ],
  mode: 'development',
  module: {
    rules: [
      {
        test: /\.less$/,
        use: getCssLoaders([ 'less-loader'])
      },
      {
        test: /\.css$/,
        use: getCssLoaders()
      }
    ]
  }
}

處理圖片svg資源

file-loader使用

  1. 安裝file-loader:npm i file-loader
    文件的名稱規(guī)則
  • [ext]: 處理文件的擴(kuò)展名;
  • [name]:處理文件的名稱;
  • [hash]:文件的內(nèi)容,使用MD4的散列函數(shù)處理,生成的一個(gè)128位的hash值(32個(gè)十六進(jìn)制);
  • [contentHash]:在file-loader中和[hash]結(jié)果是一致的(在webpack的一些其他地方不一樣,后面會(huì)講到);
  • [hash:]:截圖hash的長度,默認(rèn)32個(gè)字符太長了;
  • [path]:文件相對(duì)于webpack配置文件的路徑;
  1. 配置規(guī)則
    {
            test: /\.(png|jpe?g|gif|svg)$/,
            use: [
              {
                loader: 'file-loader',
                options: {
                  name: "[name].[hash:6].[ext]",
                  outputPath:'img'
                }
              }
            ]
     }
    
url-loader

url-loader和file-loader的工作方式是相似的,但是可以將較小的文件,轉(zhuǎn)成base64的URI

  • npm install url-loader -D
  • 但是開發(fā)中我們往往是小的圖片需要轉(zhuǎn)換,但是大的圖片直接使用圖片即可
    • 這是因?yàn)樾〉膱D片轉(zhuǎn)換base64之后可以和頁面一起被請(qǐng)求,減少不必要的請(qǐng)求過程;
    • 而大的圖片也進(jìn)行轉(zhuǎn)換,反而會(huì)影響頁面的請(qǐng)求速度;
  • 如何可以限制哪些大小的圖片轉(zhuǎn)換和不轉(zhuǎn)換
  • url-loader有一個(gè)options屬性limit,可以用于設(shè)置轉(zhuǎn)換的限制
{
        test: /\.(png|jpe?g|gif|svg)$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              name: "img/[name].[hash:6].[ext]",
              limit: 100 * 1024
            }
          }
        ]
}

處理TS文件

  • 可以通過TypeScript的compiler來轉(zhuǎn)換成JavaScript:npm install typescript -D
  • 另外TypeScript的編譯配置信息我們通常會(huì)編寫一個(gè)tsconfig.json文件tsc --init
  • 之后我們可以運(yùn)行 npx tsc來編譯自己的ts代碼:npx tsc

需要安裝全局的TypeScript環(huán)境,使用npm i -g typescript ,可以使用tsc -V查看版本。

使用ts-loader

如果我們希望在webpack中使用TypeScript,那么我們可以使用ts-loader來處理ts文件:npm install ts-loader -D

 {
        test: /\.ts$/,
        exclude: /node_modules/,
        use: "ts-loader"
  }

也可以使用@babel/tranform-typescript配合babel使用文章來源地址http://www.zghlxwxcb.cn/news/detail-498699.html

到了這里,關(guān)于03-loader使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【ChatGPT】開源軟件:ChatALL —— 我是 GitHub 榜一!(PS: 其實(shí),小編本地 build run 了一下,就是一個(gè)組裝 Chat UI ……)

    給第一次聽說 ChatALL 的朋友介紹下它吧。很簡單,它就是個(gè) 能讓你同時(shí)和 ChatGPT、Bing Chat、Bard、文心一言、訊飛星火、Claude、HuggingChat、Alpaca, Vincuna、MOSS、ChatGLM 聊天的工具,幫你快速找到最靠譜的答案。 Concurrently chat with ChatGPT, Bing Chat, bard, Alpaca, Vincuna, Claude, ChatGLM, MOSS,

    2024年02月07日
    瀏覽(20)
  • WiFi模塊原理圖其實(shí)不難看懂

    WiFi模塊原理圖其實(shí)不難看懂

    Wi-Fi模塊的原理圖包括一些關(guān)鍵部件,如收發(fā)器、無線局域網(wǎng)(WLAN)收發(fā)器、天線、微處理器、射頻(RF)放大器、電源管理等。 收發(fā)器和WLAN收發(fā)器根據(jù)IEEE802.11標(biāo)準(zhǔn)實(shí)現(xiàn)Wi-Fi網(wǎng)絡(luò)功能,包括接入點(diǎn)實(shí)現(xiàn)和終端設(shè)備實(shí)現(xiàn),基于半雙工技術(shù),實(shí)現(xiàn)了接入點(diǎn)和終端設(shè)備之間的連接,

    2024年02月10日
    瀏覽(15)
  • SU-03T語音模塊的配置與使用

    SU-03T語音模塊的配置與使用

    ? ? ? ? 由于筆者想做一個(gè)基于SU-03T的語音垃圾桶,淺略學(xué)習(xí)了SU-03T的基本配置。 ?當(dāng)要下載配置文件時(shí),b6與b7連接ch340g模塊的tx與rx,vcc接5v。使用SU-03T專門的燒錄軟件。 打開智能公元網(wǎng)站 ?找到SU-03T的產(chǎn)品,點(diǎn)擊創(chuàng)建。 ? ?隨便選一個(gè)產(chǎn)品,把語言設(shè)為中文。 ?將引腳功

    2024年02月06日
    瀏覽(23)
  • 【SU-03T離線語音模塊】:學(xué)習(xí)配置使用

    【SU-03T離線語音模塊】:學(xué)習(xí)配置使用

    時(shí)不可以茍遇,道不可以虛行。 語音識(shí)別模塊是在一種基于嵌入式的語音識(shí)別技術(shù)的模塊,主要包括語音識(shí)別芯片和一些其他的附屬電路,能夠方便的與主控芯片進(jìn)行通訊,開發(fā)者可以方便的將該模塊嵌入到自己的產(chǎn)品中使用,實(shí)現(xiàn)語音交互的目的。 離線語音模塊 與 在線語

    2023年04月09日
    瀏覽(20)
  • 【FusionInsight 遷移】HBase從C50遷移到6.5.1(03)6.5.1上準(zhǔn)備Loader

    在FusionInsight HD集群的HBase數(shù)據(jù)遷移過程中,需要通過Loader將老集群FusinInsight C50上獲取HBase的數(shù)據(jù)加載到新集群FusionInsight 6.5.1,因此需要在新集群FusionInsight 6.5.1中添加Loader以及具有相應(yīng)權(quán)限的用戶loaderUser。 本文主要介紹如何在新集群FusionInsight 6.5.1中創(chuàng)建loaderUser用戶以及如何

    2024年02月09日
    瀏覽(22)
  • React 用來解析html 標(biāo)簽的方法

    在React中,解析HTML標(biāo)簽通常是使用JSX(JavaScript XML)語法的一部分。JSX允許您在JavaScript代碼中編寫類似HTML的標(biāo)記,然后通過React進(jìn)行解析和渲染。 以下是React中解析HTML標(biāo)簽的幾種常見方式: 直接在JSX中使用標(biāo)簽:您可以在JSX中像使用HTML標(biāo)簽一樣使用標(biāo)簽,React會(huì)將其解析為

    2024年02月14日
    瀏覽(31)
  • webpack自定義loader解析指定后綴名文件

    webpack自定義loader解析指定后綴名文件

    案例: webpack自定義loader解析 .chenjiang 后綴名的文件 整體目錄: chenjiangLoader.js文件代碼 test.chenjiang文件代碼 配置webpack的loader 主入口文件代碼 運(yùn)行命令 前提要npm install webpack webpack-cli -D 訪問index.html文件

    2024年02月07日
    瀏覽(17)
  • 【java】[maven]每次創(chuàng)建一個(gè)maven模塊時(shí)java compiler版本就是1.6與實(shí)際版本不一致(解決本質(zhì)問題)

    目錄 方案一: 我沒有使用 方案二:修改maven配置文件 前言:每次創(chuàng)建一個(gè)maven模塊時(shí)java compiler版本就是1.6與實(shí)際版本不一致 使用的使用maven3.9.1 jdk17,但是每次創(chuàng)建一個(gè)maven模塊都是會(huì)影響之前的模塊。網(wǎng)上都是修改pom.xml 因?yàn)樵陧?xiàng)目中如果沒有指定jdk的版本,重新運(yùn)行的時(shí)

    2024年02月10日
    瀏覽(19)
  • 【node.js】03-http模塊

    【node.js】03-http模塊

    目錄 一、什么是http模塊 二、創(chuàng)建基本的WEB服務(wù)器 三、req請(qǐng)求對(duì)象 四、res響應(yīng)對(duì)象 五、根據(jù)不同的url響應(yīng)不同的JSON內(nèi)容 ????????http 模塊是 Node.js 官方提供的、用來創(chuàng)建 web 服務(wù)器的模塊。通過 http 模塊提供的 http.createServer() 方法,就能方便的把一臺(tái)普通的電腦,變成一

    2024年02月15日
    瀏覽(231)
  • AI智能語音識(shí)別模塊(SU-03T)

    AI智能語音識(shí)別模塊(SU-03T)

    32位RISC內(nèi)核,運(yùn)行頻率240 M 支持dsp指令集以及fpu浮點(diǎn)運(yùn)算單元 FFT加速器:最大支持1024點(diǎn)復(fù)數(shù)FFT/IFFT運(yùn)算,或者是2048點(diǎn)的實(shí)數(shù)FFT/IFFT運(yùn)算 內(nèi)置高速SRAM,內(nèi)置2MB閃存內(nèi)置2.4W、單聲道AB類功放 支持1路駐極體麥 支持L2S輸入/輸出。 支持5V電源輸入 內(nèi)置5V轉(zhuǎn)3.3V,3.3V外部負(fù)載不超過15

    2024年02月05日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包