Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue 项目之 Webpack 中 PostCSS 工具的使用(1)

Vue 项目之 Webpack 中 PostCSS 工具的使用(1)

作者头像
玖柒的小窝
修改于 2021-11-08 01:40:33
修改于 2021-11-08 01:40:33
1.3K00
代码可运行
举报
文章被收录于专栏:各类技术文章~各类技术文章~
运行总次数:0
代码可运行

Vue 项目之 Webpack 中 PostCSS 工具的使用(1)

「这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战

前面我们已经讲了 webpackcssless 文件的处理,和处理 less 文件类似,处理 sassstylus 也只需安装对应的工具再进行配置即可,具体可以查看官方文档:webpack.js.org/loaders/sas… 以及 webpack.js.org/loaders/sty…

下面,我们再来讲一个特别好用的工具:PostCSS

1. 认识 PostCSS 工具

  • PostCSS 是什么呢?
    • PostCSS 是一个通过 JavaScript 来转换样式的工具;
    • 它可以帮助我们进行一些 CSS 的转换和适配,比如自动添加浏览器前缀、css 样式的重置;
    • 但是实现这些功能,我们需要借助 PostCSS 对应的插件;
  • 如何使用 PostCSS 呢?主要就是两个步骤:
    1. 查找 PostCSS 在构建工具中的扩展,比如 webpack(构建工具) 中的 postcss-loader(扩展);
    2. 添加你需要的 PostCSS 相关的插件;

前面我们说过,当我们说到 webpack 时,其实不只包含它的核心代码,还包括它的生态,比如说它的 loader,那么这里就有一个 postcss-loader,这个 loader 又需要依赖 PostCSS 这个工具,而这个工具在真正起作用时又依赖它里面安装的插件(plugins)。这个 PostCSS 工具本身也是一个独立的工具,它就像 webpack 一样,里面也可以安装很多的 plugins,不同的 plugin 就有不同的作用。

下面,我们先来看下如何单独使用 PostCSS

2. 命令行使用 PostCSS

我们可以直接在终端中使用 PostCSS,但还需要安装一个工具:postcss-cli(借助 postcss-cli,就可以在命令行界面或 npm 脚本中使用 PostCSS 了)。

先来安装它们:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install postcss postcss-cli -D
复制代码

然后,我们还需要去安装 PostCSS 对应的一些插件,因为 PostCSS 只有依赖插件才会生效。比如,我们想要通过 PostCSS 的某个插件给某些属性添加浏览器前缀,那我们就可以安装 autoprefixer 这个 PostCSS 插件,这个插件可以帮助我们自动给 CSS 属性添加浏览器前缀:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install autoprefixer -D
复制代码

工具都准备好了,还差个需要转换的 css 文件,我们在项目目录下新建一个 test.css 文件,文件内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.title {
  user-select: none;
}
复制代码

我们拿 CSS 属性 user-select 举例,因为这个属性通常是需要添加浏览器前缀的(目的是适配多个浏览器)。

下面,我们就使用 PostCSS 对这个 css 文件进行转换,我们来运行下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npx postcss --use autoprefixer -o demo.css test.css
复制代码

上面的命令表示:使用局部安装的 PostCSS 并使用 autoprefixer 插件对当前目录下的 test.css 文件进行转换,转换结果输出到当前目录下的 demo.css 文件中。

成功执行上面的命令后,就会看到项目目录下新生成了一个 demo.css 文件,里面的内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.title {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQWlCO0tBQWpCLHNCQUFpQjtNQUFqQixxQkFBaUI7VUFBakIsaUJBQWlCO0FBQ25CIiwiZmlsZSI6ImRlbW8uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRpdGxlIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59Il19 */
复制代码

可以看到,PostCSS 通过 autoprefixer 插件成功给我们的 CSS 属性添加了浏览器前缀。当然,关于浏览器前缀的有关问题,比如何时加何时不加,这跟浏览器查询和 browserslist 工具有关,具体可以阅读我之前写过的一篇文章:深入 Webpack5 等构建工具系列二(7) - 浏览器兼容性和 browserslist

补充:这里有一个网站:autoprefixer.github.io/,我们可以在这个网站上测试查看某个 CSS 属性是否需要加浏览器前缀。

以上,就是我们单独使用 PostCSS 的方式。但在真实开发中,我们又该怎么做呢?我们下篇文章再来讲。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
编辑精选文章
换一批
入门webpack的最佳实践(基于webpack4.X 5.X)-- postcss-loader介绍
来到这家公司之后,一直在使用webpack,也写了不少笔记,但是都比较零散,现在决定整理一下webpack相关的知识点,由浅入深,方便自己后续查漏补缺,后续会一直更新。
Jou
2022/09/27
1.1K0
入门webpack的最佳实践(基于webpack4.X 5.X)-- postcss-loader介绍
PostCSS | 笔记
使用最新的 CSS 特性,并编译为就浏览器兼容的语法,类似于 babel preset env 安装:
yiyun
2023/07/20
3350
PostCSS | 笔记
PostCSS 初识
今天在吃早饭的时候就被同事@,说有一块页面效果在测试服务器的部署效果跟本地不一样:代码在本地运行没有问题,部署后发现有一个分割线的位置明显不对。来到公司后看了同事的演示,觉得可能是 css 代码压缩时出现了问题。
李振
2021/11/26
5660
PostCSS 初识
6、webpack从0到1-less、sass、postcss
参考链接: postcss-loader webpack css-loader
Ewall
2020/03/20
1.2K0
webpack构建自定义vue应用
相比较react,vue所需要的插件要少得多,我们知道在vue中,大多数是以.vue的模版组件,因此关键是我们可以用webpack的相关loader能够解析.vue文件即可,在vue项目中解析单文件组件,热加载,css作用域等全部依赖于这个插件vue-loader[1],因此vue-loader算是vue工程化中必不可少的一个插件。
Maic
2022/07/28
5780
webpack构建自定义vue应用
还在手动给css加前缀?no!几种自动处理css前缀的方法简介
我们知道在写css的时候由于要兼容不同厂商浏览器,一些比较新的属性需要给它们添加厂商前缀来兼容。移动端还好,基本只要兼容webkit内核的即可,pc端就虐心了,ff、ie、Opera……可以说五花八门,应有尽有,每次要使用例如一些css3属性的时候,就要考虑到添加前缀兼容的问题,那么多属性那么多前缀,简直是泯灭人性! 不过好在现在各种工具的出现,已经可以很好地解决这个问题了,下面就简单介绍几个吧。 1. postcss postcss是一个用JS插件转化样式的工具。这些插件可以检查CSS,支持变量和mixi
逸鹏
2018/04/10
2.8K0
webpack 学习笔记系列04-资源处理优化
TypeScript 约定了 tsconfig.json 文件来存储项目配置,文档链接。
CS逍遥剑仙
2021/02/21
1.9K0
PostCSS概述
PostCSS是一款强大的CSS处理器,它允许开发者使用现代CSS语法、自定义插件以及预处理器的功能,同时保持输出CSS向后兼容。本文将深入浅出地介绍PostCSS的基本概念、工作原理及常见问题,帮助开发者避免易错点,并通过代码示例展示其实际应用。
Jimaks
2024/11/24
3050
webpack postcss
JavaScript转换样式的工具。让css样式适配不同的浏览器(不用自己去手动的添加了)。
用户4793865
2023/01/12
3940
webpack postcss
webpack 简单配置
1.webpack 是一个现代JavaScript 应用程序的静态打包器,它能够把各种资源,例如JS,样式,图片   等都作为模块来使用处理,将许多松散的模块按照依赖和规则打包成符合生产部署的前端资源,   还可以将按需加载的模块进行代码分割,等到实际需要的时候再异步加载。 2.安装   前提条件,请确保安装了Node.js的最新版。   进入相应的文件夹     首先执行 进入相应的文件夹 npm init 初始化     然后可以全局安装 npm install webpack --save-dev  
用户1197315
2018/01/22
9680
webpack 简单配置
webpack4.0各个击破(2)—— CSS篇
以webpack4.0版本为例来演示CSS模块的处理方式,需要用到的插件及功能如下:
大史不说话
2018/09/10
8910
webpack4.0各个击破(2)—— CSS篇
Webpack5里好用的插件(—)
本期给大家在webpack5中如何配置css用到的解析和插件的使用,更准确的说是PostCSS的插件。众所周知,现在大部分前端项目都在使用webpack做打包,打包做解析的比较重要目的一个是给js做转化,比如es6转es5,混淆压缩等。然后就是对css进行解析,比如说scss转css,less转css,前缀自动补全,还有移动端项目px转rem或者px转vw。今天我们就介绍将后者其中的前缀自动补全,px转rem,px转vw,这都是在PostCSS中极为常用的插件。
玖柒的小窝
2021/10/09
1.1K0
Webpack5里好用的插件(—)
Webpack4 搭建 Vue 项目
由于 Parcel 打包工具的影响,webpack4 也追求零配置搭建项目。而前阵子出现的 vue-cli 3.0也是基于 webpack4 零配置的思想创建的。对于一些习惯webpack3 的开发者难免有些不习惯。本文就带你绕过 vue-cli,用 webpack4 一步步搭建 vue 项目。
小皮咖
2019/11/05
1.2K0
Webpack Loader知识分享
原创不易,未经作者允许禁止转载!! 认识Loader Loader可以用于对模块的源代码进行转换; 在加载这个模块时,webpack其实并不知道如何对其进行加载,我们必须定制对应的loader来完成这个功能。 loader配置方式 内联方式:import "css-loader!../css/index.css"; loader和文件路径用!分隔 配置方式:webpack.config.js 配置方式表示的意思是在我们的webpack.config.js文件中写明配置信息 module.rules中允许我
前端LeBron
2021/12/08
5780
Webpack Loader知识分享
(13/24) css进阶:自动处理css3属性前缀
什么是属性前缀 为了浏览器的兼容性,有时候我们必须加入-webkit,-ms,-o,-moz这些前缀。目的就是让我们写的页面在每个浏览器中都可以顺利运行。 例如:
wfaceboss
2019/04/08
1.2K0
(13/24) css进阶:自动处理css3属性前缀
webpack 入门教程
本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
老马
2018/08/20
4.3K0
webpack 入门教程
走近webpack(4)--css相关拓展
  我们前面已经学了很多webpack基本的处理情况,一句话总结就是,一个优秀的webpack项目,主要的核心用法就是整合loader和plugin去处理你想要的任何需求。   下面,咱们一起来学学如何用webpack来处理less,sass等预编译器。先看看如何用webpack处理less。   国际惯例,第一步是安装: npm install less less-loader --save-dev   第二步,配置loader项: { test: /\.less$/, use: [{
zaking
2018/05/02
1.2K0
【Webpack】319- Webpack4 入门手册(共 18 章)(上)
最近和部门老大,一起在研究团队【EFT - 前端新手村】的建设,目的在于:帮助新人快速了解和融入公司团队,帮助零基础新人学习和入门前端开发并且达到公司业务开发水平。
pingan8787
2019/08/20
1.9K0
【Webpack】319- Webpack4 入门手册(共 18 章)(上)
WebPack 模块化打包工具(下)
本篇博文的内容根据 入门 Webpack,看这篇就够了 该篇文章总结而来,其代码、模块示例、功能拓展部分均有所删减,若是想了解更多关于 WebPack 的详细内容,敬请参考原文
Nian糕
2018/08/21
1.4K0
WebPack 模块化打包工具(下)
Webpack 学习整理
Webpack是一个前端资源加载以及打包工具,只需要简单的配置即可实现前端各种工程化的操作。 配置 webpack 说难不难,说简单也不简单,现在几大框架都配备了全家桶,quick-start 项目基本上都已经配置好了基础的 webpack 配置。 虽然能够正常使用,但是,对于各个配置项,并不是很清楚。这几天利用空余时间,理一下几个 loader 和 插件的使用。
epoos
2022/06/06
6350
相关推荐
入门webpack的最佳实践(基于webpack4.X 5.X)-- postcss-loader介绍
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验