webpack入門學(xué)習(xí)筆記11 —— 在項目中對打包編譯的文件進行分類

1. 寫在前面

在前面的博客中,我們對Webpack項目進行了很多配置,也多次打包編譯了項目。如果你細心觀察的話,你會看到,項打包編譯后的目代碼,全部都放在了 build 文件夾下,沒有根據(jù)文件格式的不同再次進行分類。

但是我們所期望的場景是:項目打包編譯之后,對文件進行分類,不同的文件放在不同的文件夾下。比如打包編譯后,圖片全部都放在 build/images 文件夾下,樣式文件全部放在 build/css 文件夾下,這樣便于管理項目。如下圖所示:

那么需要如何配置,才能達到這個目的呢?在這篇博客中,我會跟大家分享。

本片博客的主要內(nèi)容有:

  • 將圖片文件進行分類
  • 將CSS樣式文件進行分類

2. 將圖片文件進行分類

想要對圖片進行分類,我們需要使用 url-loader 來處理圖片文件。第一步還是安裝該loader,安裝命令如下:

yarn add url-loader -D

安裝完成之后,到 webpack.config.js 中進行配置,配置規(guī)則非常簡單,這里直接給出代碼:

module.exports = {
    /* 節(jié)省篇幅,其余配置已省略 */
    module: {
        rules: [ {
                test: /\.(png|jpg|jpeg|gif)$/,
                use: {
                    loader: 'url-loader',
                    options: {
                        limit: 2 * 1024,    // 小于2k的圖片,直接使用Base64編碼進行處理
                        outputPath: '/image/'
                    }
                }
            }
        ]
    }
}

這里將其他的配置規(guī)則省略了,如果你想看其他的配置規(guī)則,可以查看我的 GitHub倉庫 - webpack-learning ,或者通過本文末尾的鏈接,跳轉(zhuǎn)到我之前的博客中進行查看。

下面對上述配置進行簡單解釋:

  • 使用url-loader處理圖片資源的時候,需要指定 limit 屬性,當(dāng)圖片小于該屬性大小的時候,直接使用Base64編碼處理圖片,不會再項目中生成圖片文件。
  • 當(dāng)圖片大于該屬性大小的時候,不使用Base64編碼處理圖片,而是將該圖片放到 build 文件夾下,如果指定了 outputPath 屬性,那么圖片會放到該屬性指定的目錄下。

3. 將CSS樣式文件進行分類

對打包編譯后的CSS文件進行分類,需要借助一個插件,即:mini-css-extract-plugin 。使用之前需要使用以下命令進行安裝:

yarn add mini-css-extract-plugin -D

安裝完成之后,進行以下配置:

let MiniCssExtract = require('mini-css-extract-plugin')     // 引入插件
/* 節(jié)省篇幅,其余配置已省略 */
module.exports = {
    plugins: [
        new MiniCssExtract({
            filename: 'css/main.css'    // 配置CSS輸出位置
        }),
    ]
}

配置完成之后,進行打包編譯項目,就會看到編譯后的CSS文件在 build/css 文件夾之下了。

4. 寫在最后

以上便是本篇博客的所有內(nèi)容,希望對一些初次接觸Webpack的前端小白有所幫助。

文章中如有錯誤之后,還希望各位大佬予以糾正。

上一篇: webpack入門學(xué)習(xí)筆記10 —— 在項目中使用圖片資源

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容