Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)(下)

简介: Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)

Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)(上):https://developer.aliyun.com/article/1420349

Webpack中使用Loader_处理Less文件



安装


温馨提示

需要安装less和less-loader两个包


npm instal --save-dev less@4.1.3 less-loader@11.0.0


修改配置


修改 webpack.config.js 配置文件

const path = require('path');
module.exports = {
  module: {
    rules: [
     {
        test: /\.less$/,
        use: ['style-loader', 'css-loader', 'less-loader']
     }
   ]
 }
};


增加 less 文件引入到项目中

import "../src/css/style.less"

Webpack中使用Loader_处理Sass文件



我想 webpack 能打包scss\sass文件类型


安装


温馨提示

需要安装sass和sass-loader两个包

npm instal --save-dev sass@1.52.3 sass-loader@13.0.0


修改配置


修改 webpack.config.js 配置文件

module.exports = {
  module: {
    rules: [
     {
        test: /\.(scss|sass)$/,
        use: ['style-loader', 'css-loader', 'sass-loader']
     }
   ]
 }
};


增加 scss 文件引入到项目中

import "../src/css/style.scss"

Webpack中使用插件_HTML插件



html-webpack-plugin 可以帮助我们将 src index.html 复制一份到项目的根目录中


安装

npm install html-webpack-plugin@5.5.0 --save-dev


配置插件

const HtmlPlugin = require('html-webpack-plugin')
module.exports = {
  plugins: [
    new HtmlPlugin({
      template: './src/index.html', //指定源文件的存放路径
      filename: './index.html'  // 指定生成的文件的存放路径
   })
 ]
};


温馨提示

会自动帮打包好的bundle.js 自动放进index.html 的底部


Webpack分离CSS文件



当前的打包,是将JavaScript和CSS同时打包进入了一个文件中,如果CSS很小其实是有优势的,但是如果CSS很大,那么这个文件就应该单独抽离出来我们可以使用 mini-css-extract-plugin 进行分离CSS


安装

npm install --save-dev mini-css-extract-plugin@2.6.1


修改配置文件

const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
  module: {
    rules: [
     {
        test: /\.css$/,
        use: [MiniCssExtractPlugin.loader, 'css-loader']
     },
     {
        test: /\.less$/,
        use: [MiniCssExtractPlugin.loader, 'css-loader','less-loader']
     },
     {
        test: /\.(scss|sass)$/,
        use: [MiniCssExtractPlugin.loader, 'css-loader','sass-loader']
     }
   ]
 },
 plugins: [
    new MiniCssExtractPlugin({
      filename:"./css/index.css"
   })
 ]
};


温馨提示

mini-css-extract-plugin style-loader 冲突,需要删除 style-loader


Webpack压缩CSS文件



通过 mini-css-extract-plugin 分离出来的CSS文件并没有经历压缩,所以我们需要单独进行压缩,如何操作呢?


安装


通过 optimize-css-assets-webpack-plugin 进行压缩CSS文件

npm install --save-dev optimize-css-assets-webpack-plugin@6.0.1


修改配置文件

const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
module.exports = {
  module: {
    rules: [
     {
        test: /\.css$/,
        use: [MiniCssExtractPlugin.loader, 'css-loader',"postcss-loader"]
     },
     {
        test: /\.less$/,
        use: [MiniCssExtractPlugin.loader, 'css-loader',"postcss-loader",'less-loader']
     },
     {
        test: /\.(scss|sass)$/,
        use: [MiniCssExtractPlugin.loader, 'css-loader',"postcss-loader", 'sass-loader']
     }
   ]
 },
  plugins: [
    new MiniCssExtractPlugin({
      filename:"./css/index.css"
   }),
    new OptimizeCSSAssetsPlugin()
 ]
};


Webpack中配置Babel



走到此时很多小伙伴可能会发现问题,我们现在写的ES6代码,为啥能正常运行呢?


那是因为我们目前用的是 Chrome 浏览器,默认就支持,但是如果一些浏览器无法支持怎么办?


我需要使用 babel 进行编译


安装

npm install --save-dev @babel/core@7.18.5
npm install --save-dev @babel/preset-env@7.18.2
npm install --save-dev babel-loader@8.2.5


增加配置文件"babel.config.js"


在项目根目录下增加 babel.config.js 的配置文件

// babel.config.js
module.exports = {
  presets: ['@babel/preset-env']
}


修改配置文件

module: {
    rules: [
     {
        test:/\.js$/,
        use:['babel-loader']
     },
   ]
}


温馨提示

通过观察打包之后的文件,在添加babel之前和之后的区别

目录
相关文章
|
17天前
|
前端开发 JavaScript 开发工具
【HTML/CSS】入门导学篇
【HTML/CSS】入门导学篇
23 0
|
2月前
|
Web App开发 JSON 前端开发
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
Webpack【搭建Webpack环境、Webpack增加配置文件、Webpack中使用Loader、Webpack分离CSS文件 】(一)-全面详解(学习总结---从入门到深化)
53 0
|
12天前
|
移动开发 前端开发 JavaScript
CSS选择器 前端开发入门笔记(十)
CSS选择器 前端开发入门笔记(十)
19 1
|
12天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
1月前
|
前端开发 搜索推荐 JavaScript
编程笔记 html5&css&js 001 学习编程从网页开始
编程笔记 html5&css&js 001 学习编程从网页开始
|
2月前
|
前端开发 JavaScript
从零开始学习前端开发:HTML、CSS、JavaScript入门指南
【2月更文挑战第1天】本文将带领读者从零开始学习前端开发,介绍HTML、CSS和JavaScript的基础知识与应用,帮助读者快速入门前端开发领域。
65 1
|
2月前
|
前端开发 JavaScript API
|
3月前
|
前端开发 搜索推荐 开发者
CSS 选择器全攻略:从入门到精通(下)
CSS 选择器全攻略:从入门到精通(下)
|
1月前
|
JavaScript 前端开发
webpack成长指北第9章---webpack如何对icon字体进行打包
webpack成长指北第9章---webpack如何对icon字体进行打包
31 1
|
1月前
|
前端开发 JavaScript
webpack成长指北第7章---webpack的css\less\scss样式打包
webpack成长指北第7章---webpack的css\less\scss样式打包
42 0