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");
更改 src
和 dest
选项以更改加载 .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,
});