跳到主要内容

Connect 中间件

Stylus 随附了 Connect 中间件,用于在修改时自动编译 Stylus 样式表。

stylus.middleware(options)

选项

使用给定的 options 返回 Connect 中间件。

`serve``dest` 中提供 stylus 文件 [true]
`force` 总是重新编译
`src` 用于查找 .styl 文件的源目录
`dest` 用于输出 .css 文件的目标目录,如果未定义,则默认为 `src`
`compile` 自定义编译函数,接受参数 `(str, path)`
`compress` 是否应压缩输出的 .css 文件
`firebug` 在生成的 css 中发出可由 FireStylus Firebug 插件使用的调试信息
`linenos` 在生成的 css 中发出注释,指示相应的 stylus 行
`sourcemap` 生成 sourcemaps v3 格式的 sourcemap

示例

从 ./public 中提供 .styl 文件:

var app = connect();

app.middleware(__dirname + "/public");

更改 srcdest 选项以更改加载 .styl 文件的位置和保存它们的位置:

var app = connect();

app.middleware({
src: __dirname + "/stylesheets",
dest: __dirname + "/public",
});

在这里,我们设置了自定义编译函数,以便我们可以设置 compress 选项或定义其他函数。

默认情况下,编译函数仅设置 filename 并呈现 CSS。在以下情况下,我们正在压缩输出,使用 "nib" 库插件并自动导入它。

function compile(str, path) {
return stylus(str)
.set("filename", path)
.set("compress", true)
.use(nib())
.import("nib");
}

像这样将其作为选项传递:

var app = connect();

app.middleware({
src: __dirname,
dest: __dirname + "/public",
compile: compile,
});