深圳制造小程序_webpack项目轻松混用css module的方法

  • 栏目:公司新闻 时间:2021-01-08 14:33 分享新闻到:
<返回列表

webpack项目轻松混用css module的方法     ''s   这篇文章主要介绍了webpack项目轻松混用css module的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

前言

本文讲述css-loader开启css模块功能之后,如何与引用的npm包中样式文件不产生冲突。

比如antd-mobilenpm包的引入。在不做特殊处理的前提下,样式文件将会被转译成css module。

一、产生问题的原因

 test: /\.css$/,
 use: [
 'style-loader',
 loader: 'css-loader',
 options: {
 modules: true,
 localIdentName: '[hash:base64:6]'
 'postcss-loader'
}

以上代码片段,摘自webpack配置的module.rule。

可以看出wepack在编译过程中,遇到.css结尾的文件,都会交由postcss-loader、css-loader和style-loader依次处理。

因为css-loader开启了css模块功能,所以,所有经过处理的css文件,类名都将被改变。

二、初步改进

使用exclude和include进行区分

1.node_module文件夹内的文件,避免被当前rule处理

 test: /\.css$/,
 use: [
 loader: 'style-loader'
 loader: 'css-loader',
 options: {
 modules: true,
 localIdentName: '[hash:base64:6]'
 loader: 'postcss-loader'
 exclude:[path.resolve(__dirname, '..', 'node_modules')]

如上所示,将node_module文件夹内的文件,用exclude排除在外,不用当前rule进行处理。

2.单独处理node_module内的css文件

 test: /\.css$/,
 use: [
 loader: 'style-loader'
 loader: 'css-loader'
 loader: 'postcss-loader'
 include:[path.resolve(__dirname, '..', 'node_modules')]

三、升级版,支持css module模式和普通模式混用

1.用文件名区分两种模式

*.global.css 普通模式 *.css css module模式

这里统一用 global 关键词进行识别。

2.用正则表达式匹配文件

// css module
 test: new RegExp(`^( !.*\\.global).*\\.css`),
 use: [
 loader: 'style-loader'
 loader: 'css-loader',
 options: {
 modules: true,
 localIdentName: '[hash:base64:6]'
 loader: 'postcss-loader'
 exclude:[path.resolve(__dirname, '..', 'node_modules')]
// 普通模式
 test: new RegExp(`^(.*\\.global).*\\.css`),
 use: [
 loader: 'style-loader'
 loader: 'css-loader',
 loader: 'postcss-loader'
 exclude:[path.resolve(__dirname, '..', 'node_modules')]

四、其他问题

less在使用css module时,对url的解析存在冲突,可以用resolve-url-loader进行解决,直接上代码:

test: /\.less/,
use: [
 loader: "style-loader"
 loader: "css-loader", 
 options: {
 sourceMap: true,
 importLoaders: 2
 loader: "postcss-loader", 
 options: {
 sourceMap: true
 loader: "resolve-url-loader", 
 options: {
 sourceMap: true
 loader: "less-loader", 
 options: {
 sourceMap: true
]

参考

[1] 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。


分享新闻到:

更多阅读

深圳制造小程序_webpack项目轻松混用css

公司新闻 2021-01-08
webpack新项目轻轻松松互用css module的方式 ''s 本文关键详细介绍了webpack新项目轻轻松松互...
查看全文

广州凡科互联网科技股份有限公司招聘区

公司新闻 2021-01-08
招聘人数:5职位信息岗位职责1、销售管理职位,负责其功能领域内主要目标和计划;2、制定...
查看全文

广州凡科互联网科技股份有限公司招聘天

公司新闻 2021-01-07
招聘人数:29职位信息任职资格职位名称:天猫店长 运营(康佳厨房电器类目)店铺信息:h...
查看全文
返回全部新闻


区域站点: 南丰县小程序前端设计   南宫市有赞小程序   囊谦县小程序下载安装   南和县小程序模板源码   南华县小程序前端设计   南江县有赞小程序   南京市小程序下载安装   南靖县小程序模板源码   南康市小程序前端设计   南乐县有赞小程序   南陵县小程序下载安装   南宁市小程序模板源码   南平市小程序前端设计   南皮县有赞小程序   南市区小程序下载安装   南通市小程序模板源码   南投县小程序前端设计   南雄市有赞小程序   南溪县小程序下载安装   南阳市小程序模板源码   南漳县小程序前端设计   南召县有赞小程序   南郑县小程序下载安装   那坡县小程序模板源码   那曲县小程序前端设计   纳雍县有赞小程序   讷河市小程序下载安装   内黄县小程序模板源码   内江市小程序前端设计   内丘县有赞小程序   内乡县小程序下载安装   嫩江市小程序模板源码   聂荣县小程序前端设计   尼玛县有赞小程序   尼木县小程序下载安装   宁安市小程序模板源码   宁波市小程序前端设计   宁城县有赞小程序   宁德市小程序下载安装   宁都县小程序模板源码   宁国市小程序前端设计   宁海县有赞小程序   宁化县小程序下载安装   宁晋县小程序模板源码   宁陵县小程序前端设计   宁明县有赞小程序   宁南县小程序下载安装   宁强县小程序模板源码   宁陕县小程序前端设计   宁武县有赞小程序   宁乡市小程序下载安装   宁阳县小程序模板源码   宁远县小程序前端设计   农安县有赞小程序   磐安县小程序下载安装   盘锦市小程序模板源码   盘山县小程序前端设计   磐石市有赞小程序   盘州市小程序下载安装   蓬安县小程序模板源码   澎湖县小程序前端设计   蓬莱市有赞小程序   彭山县小程序下载安装   蓬溪县小程序模板源码   彭阳县小程序前端设计   彭泽县有赞小程序   彭州市小程序下载安装   偏关县小程序模板源码   平安县小程序前端设计   平昌县有赞小程序   平定县小程序下载安装   屏东县小程序模板源码   平度市小程序前端设计   平果县有赞小程序   平和县小程序下载安装   平湖市小程序模板源码   平江县小程序前端设计   平乐县有赞小程序   平凉市小程序下载安装   平利县小程序模板源码   平罗县小程序前端设计   平陆县有赞小程序   屏南县小程序下载安装   平泉市小程序模板源码   屏山县小程序前端设计   平顺县有赞小程序   平塘县小程序下载安装   平潭县小程序模板源码   平武县小程序前端设计   萍乡市有赞小程序   平乡县小程序下载安装   平阳县小程序模板源码   平遥县小程序前端设计   平阴县有赞小程序   平邑县小程序下载安装   平远县小程序模板源码   平舆县小程序前端设计   皮山县有赞小程序   普安县小程序下载安装   浦北县小程序模板源码   浦城县小程序前端设计   普洱市有赞小程序   普格县小程序下载安装   浦江县小程序模板源码   普兰县小程序前端设计   普宁市有赞小程序   莆田市小程序下载安装   迁安市小程序模板源码   乾安县小程序前端设计   潜江市有赞小程序   潜山市小程序下载安装  

友情链接: 微信小程序开发框 凡科小程序 免费打卡小程序怎 微信小程序 游戏

Copyright © 2002-2020 小程序下载安装_小程序模板源码_小程序前端设计_有赞小程序_线上签到小程序 版权所有 (网站地图) 备案号:粤ICP备10235580号