对于工程中不只有js资源,相对的html,css,模板,图片等,webpack需要引入处理器来进行处理。
比如css样式文件,需要css-loader处理css语法,然后通过style-loader创建style标签引入页面
css-loader的作用是处理css文件的语法,比如生成代码块然后通过js的eval函数引入到js模块中去,
style-loader是在页面中创建style标签,然后引入之前css-loader处理好的模块,
同理还有html-loader,也是用eval函数处理html代码,然后可能通过js的document.write方法在挂载到主页中去。
当然还有许多各式各样的loader,比如babel转译功能,file-loader处理文件,等等,基本的配置如下
module.exports = {
entry: './src/index.js',
output: {
filename: '[name].js',
},
mode: 'development',
module: {
rules: [
{
test: /\.js$/, //test配置表示loader处理的文件正则匹配,这里匹配js文件
loader: 'babel-loader',//处理器
options: {//配置项
},
}
],
},
loader就是webpack中转译的工具,由于webpack本身只能接受javascript,需要将其他模块代码转成js,
相关具体配置需要根据项目进行调整