webpack 编译stylus_Webpack Loader

这篇博客详细介绍了如何在Webpack配置中设置和使用Loader,特别是针对stylus的处理。文章涵盖了Webpack的Entry、Output、Loaders和Plugins的基本概念,并强调Loader用于处理非JS资源的转换。文中通过实例展示了如何配置Loader链式处理CSS资源,特别是 stylus-loader 的应用,以及常见的Loader如style-loader、css-loader等。此外,还提及了Loader的特点、常见Loader的用途,以及如何自定义Loader来处理特殊场景,如处理JSONC文件。
摘要由CSDN通过智能技术生成

一.Webpack与Loader

Webpack希望对所有依赖资源一视同仁,抹平针对不同类型资源的处理差异:

Unlike most bundlers out there, the motivation behind Webpack is to gather all your dependencies (not just code, but other assets as well) and generate a dependency graph.

而负责抹平这种差异的,就是Loader

Webpack: 无论引入了个什么东西,都给我转成JS Module,不然就胡闹(报错)

Loaders: 好

配置结构

Entry

依赖图的入口

entry: './src/index.js'

// 或者多入口的形式

entry: {

main: './src/index.js'

}

Output

输出产物

output: {

filename: 'main.js',

path: path.resolve('./build')

}

// 对应多入口的形式

output: {

filename: '[name].js',

path: path.resolve('./build')

}

Loaders

依赖处理器,拦截依赖项并进行预处理

比如这个场景:

// index.js file

import helpers from '/helpers/main.js';

// Hey Webpack! I will need these styles:

import 'main.css';

Webpack不认识CSS(无法直接处理),就需要先由Loader加工一遍(预处理)

常见的Loader配置:

module: {

rules: [

{

test: /\.css$/,

use: [

{ loader: 'style-loader' },

{ loader: 'css-loader' },

{ loader: 'less-loader' }

]

}

]

}

Loader应用顺序是less-loader, css-loader, style-loader

P.S.除了通过配置文件来指定Loader与资源类型的关系外,还可以在引入资源时添上loadername!前缀,例如import image from 'file-loader!./my-img.png'

Plugins

Loader不够用/不好用或者做不到的时候,通过自定义插件来扩展

例如extract-text-webpack-plugin用来改变样式规则被打进bundle的style-loader默认行为,把CSS收集起来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值