webpack中的stylus-loader


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/10/14/webpack%E4%B8%AD%E7%9A%84stylus-loader/

摘要

本文主要讲述了:

  1. 作用
  2. 安装
  3. 配置
  4. 示例

正文

作用

将 Stylus 文件转换为 CSS 文件。

注意:

  1. 相对于当前文件的路径不需要以.开头
  2. ~打头的路径将解析为node_modules目录中的模块

安装

1
2
3
#!/usr/bin/env bash

npm install --save-dev stylus stylus-loader

配置

sourceMap

如果要开启sourceMap,必须同时开启 css-loader 和 stylus-loader 的 sourceMap 选项。

示例:

learn_webpack/webpack.config.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const path = require('path');
module.exports = {
module: {
rules: [
{
test: /\.styl$/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
{
loader: 'stylus-loader',
options: {
sourceMap: true,
},
},
],
},
],
},
};

示例

learn_webpack/webpack.config.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
mode: 'development',
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
test: /\.styl$/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
},
{
loader: 'stylus-loader',
},
],
},
],
},
plugins: [
new HtmlWebpackPlugin({
title: 'learn_webpack',
template: 'public/index.html',
}),
],
};

learn_webpack/src/index.js

1
import resetCSS from './styl/reset.styl';

learn_webpack/src/styl/reset.styl

1
2
3
4
5
6
body
margin 0
> div
width 300px
height 300px
background-color #f00

运行:

1
2
3
#!/usr/bin/env bash

npx webpack

相当于

  1. 将 Stylus 文件转换为 CSS 文件
  2. 将 CSS 文件转换为 JavaScript 模块
  3. 在页面中通过<style>自动插入 JavaScript 模块

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/10/14/webpack%E4%B8%AD%E7%9A%84stylus-loader/


本文对你有帮助?请支持我


支付宝
微信