webpack css loader
2023-06-13 09:16:41 时间
我们新建一个login.js
文件,作为一个组件。
这里定义了一个函数,函数中创建了h2标签,然后给标签中添加文字、还有类名className,最后把这个dom返回。最后通过document.body.appendChild
向<body>
标签中添加login函数生成的dom。
// login.js
function login(){
const oH2 = document.createElement('h2')
oH2.innerHTML = '我的天啊'
oH2.className = 'title'
return oH2
}
document.body.appendChild(login())
新建css
新建一个css文件夹,再新建一个login.css。随便写点样式
.title{
color: aqua;
}
然后在login.js文件中引入login.css。此时的css,被当成模块处理。
import './css/login.css'
function login(){
const oH2 = document.createElement('h2')
oH2.innerHTML = '我的天啊'
oH2.className = 'title'
return oH2
}
document.body.appendChild(login())
再次进行打包npm run build
,报错如下:缺少loader。默认情况下,webpack不能处理css文件,因此需要添加css的对应loader进行一个转换。
使用loader
需要安装css-loader
npm install --save-dev css-loader
注意这里用到了 --save-dev
,这是把css-loader
加到devDependencies
(开发依赖)中,在我们的生成环境中就不需要这个包了。
添加配置
- module配置项用于存放匹配规则,以及相应规则需要的loader。
- rules:有s说明我们后面会有多个规则,所以对应的值是一个数组。webpack默认会处理js和json。其他类型就都不认识了。如:图片、字体、样式等。
- test : 一般后面是正则表达式,我们先写出
/.css/
,然后.
在正则表达式中会有特殊含义所以需要进行转义 ,就变成了/\.css/
,并且那我们不希望将类似于xxx.css.js
这种文件被认为是css文件而被css-loader处理。所以使用$
作为结束标识(正则表达式) 最后就是/\.css$/
- 然后怎么知道css文件使用什么loader解析?使用use,同样也可能需要多个loader进行解析,所以use对应也是数组。
- use数组中,是对象,如下指定的loader是
'css-loader'
const path = require('path')
module.exports ={
entry: './src/index.js',
output: {
filename: 'build.js',
path: path.resolve(__dirname,'dist')
},
module:{
rules:[
{
test:/\.css$/,
// 可能有多个loader
use:[
{
loader: 'css-loader'
}
]
}
]
}
}
复制代码
简写
如果这个文件只需要被一个loader解析,并且没有其他配置就可以简写。
{
test:/\.css$/,
loader:'css-loader'
}
复制代码
{
test:/\.css$/,
use:['css-loader']
}
相关文章
- webpack基础打包命令_webpack打包原理
- 带你学习webpack-webpack源码解析一
- CSS 换行_css不允许换行
- webpack学习笔记
- webpack介绍、配置、使用
- Webpack构建速度优化指南
- Webpack配置信息入门
- Webpack实现将CSS中的px转换为rem
- 基于webpack,不使用任何脚手架,创建纯粹的webpack项目
- 前端必备的 CSS 库,normalize.css
- Webpack搭建简单的TypeScript脚手架
- Vue中使用webpack别名的方法详解编程语言
- 属性Oracle的CSS属性:让你的网站更出彩(oracle的css)
- CSS操作MySQL探索无可比拟的新空间(css操作mysql)
- juqery学习之六CSS--css、位置、宽高