其他分享
首页 > 其他分享> > 07_Vue3组件化之webpack5篇(一)

07_Vue3组件化之webpack5篇(一)

作者:互联网

Vue3组件化之webpack5篇(一)

认识webpack

事实上随着前端的快速发展,目前前端的开发已经变的越来越复杂了:

但是对于很多的前端开发者来说,并不需要思考这些问题,日常的开发中根本就没有面临这些问题:

脚手架依赖webpack

事实上我们上面提到的所有脚手架都是依赖于webpack的:

在这里插入图片描述

Webpack到底是什么呢?

我们先来看一下官方的解释:

在这里插入图片描述

webpack是一个静态的模块化打包工具,为现代的JavaScript应用程序;

我们来对上面的解释进行拆解:

Webpack官方的图片

在这里插入图片描述

Vue项目加载的文件有哪些呢?

JavaScript的打包:

Css的处理:

资源文件img、font:

HTML资源的处理:

处理vue项目的SFC文件.vue文件;

Webpack的使用前提

webpack的官方文档是https://webpack.js.org/

Webpack的运行是依赖Node环境的,所以我们电脑上必须有Node环境

Webpack的安装

webpack的安装目前分为两个:webpack、webpack-cli

那么它们是什么关系呢?

执行webpack命令,会执行node_modules下的.bin目录下的webpack;

webpack在执行时是依赖webpack-cli的,如果没有安装就会报错;

而webpack-cli中代码执行时,才是真正利用webpack进行编译和打包的过程;

所以在安装webpack时,我们需要同时安装webpack-cli(第三方的脚手架事实上是没有使用webpack-cli的,而是类似于自己的vue-service-cli的东西)

在这里插入图片描述

Webpack的默认打包

我们可以通过webpack进行打包,之后运行打包之后的代码:在目录下直接执行 webpack 命令

生成一个dist文件夹,里面存放一个main.js的文件,就是我们打包之后的文件:

我们发现是可以正常进行打包的,但是有一个问题,webpack是如何确定我们的入口的呢?

当然,我们也可以通过配置来指定入口和出口—>npx webpack --entry ./src/main.js --output-path ./build

创建局部的webpack

前面我们直接执行webpack命令使用的是全局的webpack,如果希望使用局部的可以按照下面的步骤来操作。

第一步:创建package.json文件,用于管理项目的信息、库依赖等

第二步:安装局部的webpack和webpack-cli

第三步:使用局部的webpack:npx webpack

第四步:在package.json中创建scripts脚本,执行脚本打包即可

Webpack配置文件

在通常情况下,webpack需要打包的项目是非常复杂的,并且我们需要一系列的配置来满足要求,默认配置必然

是不可以的。

我们可以在根目录下创建一个webpack.config.js文件,来作为webpack的配置文件:

在这里插入图片描述

指定配置文件

但是如果我们的配置文件并不是webpack.config.js的名字,而是其他的名字呢?

但是每次这样执行命令来对源码进行编译,会非常繁琐,所以我们可以在package.json中增加一个新的脚本:

在这里插入图片描述

Webpack的依赖图

webpack到底是如何对我们的项目进行打包的呢?

编写案例代码

我们创建一个component.js,通过JavaScript创建了一个元素,并且希望给它设置一些样式;

在这里插入图片描述

css-loader的使用

上面的错误信息告诉我们需要一个loader来加载这个css文件,但是loader是什么呢?

那么我们需要一个什么样的loader呢?

css-loader的使用方案

如何使用这个loader来加载css文件呢?有三种方式:

**内联方式:**内联方式使用较少,因为不方便管理;

在引入的样式前加上使用的loader,并且使用!分割;

在这里插入图片描述

CLI方式

loader配置方式

配置方式表示的意思是在我们的webpack.config.js文件中写明配置信息:

module.rules的配置如下:

Loader的配置代码

在这里插入图片描述

认识style-loader

我们已经可以通过css-loader来加载css文件了

这是为什么呢?

配置style-loader

那么我们应该如何使用style-loader:

在这里插入图片描述

如何处理less文件?

在我们开发中,我们可能会使用less、sass、stylus的预处理器来编写css样式,效率会更高。

那么,如何可以让我们的环境支持这些预处理器呢?

比如我们编写如下的less样式:

在这里插入图片描述

我们可以使用less工具来完成它的编译转换:

执行如下命令:npm install less -D npx lessc ./src/css/title.less title.css

less-loader处理

但是在项目中我们会编写大量的css,它们如何可以自动转换呢?

在这里插入图片描述

认识PostCSS工具

什么是PostCSS呢?

如何使用PostCSS呢?主要就是两个步骤:

命令行使用postcss

当然,我们能不能也直接在终端使用PostCSS呢?

我们编写一个需要添加前缀的css:

因为我们需要添加前缀,所以要安装autoprefixer: npm install autoprefixer -D

直接使用使用postcss工具,并且制定使用autoprefixer:npx postcss --use autoprefixer -o end.cs

转化之后的css样式如下:

在这里插入图片描述

postcss-loader

真实开发中我们必然不会直接使用命令行工具来对css进行处理,而是可以借助于构建工具:

在webpack中使用postcss就是使用postcss-loader来处理的;

我们来安装postcss-loader: npm install postcss-loader -D

我们修改加载css的loader:(配置文件已经过多,给出一部分了)

注意:因为postcss需要有对应的插件才会起效果,所以我们需要配置它的plugin;

在这里插入图片描述

单独的postcss配置文件

当然,我们也可以将这些配置信息放到一个单独的文件中进行管理: 在根目录下创建postcss.config.js

在这里插入图片描述

postcss-preset-env

事实上,在配置postcss-loader时,我们配置插件并不需要使用autoprefixer。

我们可以使用另外一个插件:postcss-preset-env

首先,我们需要安装postcss-preset-env: npm install postcss-preset-env -D

之后,我们直接修改掉之前的autoprefixer即可:

在这里插入图片描述

标签:webpack5,07,loader,webpack,Vue3,js,postcss,我们,css
来源: https://blog.csdn.net/weixin_50903927/article/details/122791477