webpack css loader

我们新建一个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

.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$/,// 可能有多个loaderuse:[{loader: 'css-loader'}]}]}
} 

简写

如果这个文件只需要被一个loader解析,并且没有其他配置就可以简写。

{test:/\.css$/,loader:'css-loader'
} 
{test:/\.css$/,use:['css-loader']
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值