連線中介軟體
Stylus 隨附 連線 中介軟體,可在每次修改 Stylus 表格時自動編譯。
stylus.middleware(options)
選項
傳回具有指定 options
的連線中介軟體。
`serve` Serve the stylus files from `dest` [true]
`force` Always re-compile
`src` Source directory used to find .styl files
`dest` Destination directory used to output .css files
when undefined defaults to `src`.
`compile` Custom compile function, accepting the arguments
`(str, path)`.
`compress` Whether the output .css files should be compressed
`firebug` Emits debug infos in the generated css that can
be used by the FireStylus Firebug plugin
`linenos` Emits comments in the generated css indicating
the corresponding stylus line
`sourcemap` Generates a sourcemap in sourcemaps v3 format
`serve` Serve the stylus files from `dest` [true]
`force` Always re-compile
`src` Source directory used to find .styl files
`dest` Destination directory used to output .css files
when undefined defaults to `src`.
`compile` Custom compile function, accepting the arguments
`(str, path)`.
`compress` Whether the output .css files should be compressed
`firebug` Emits debug infos in the generated css that can
be used by the FireStylus Firebug plugin
`linenos` Emits comments in the generated css indicating
the corresponding stylus line
`sourcemap` Generates a sourcemap in sourcemaps v3 format
範例
從 ./public 提供 .styl 檔案
var app = connect();
app.middleware(__dirname + '/public');
var app = connect();
app.middleware(__dirname + '/public');
變更 src
和 dest
選項,以變更 .styl 檔案的載入和儲存位置
var app = connect();
app.middleware({
src: __dirname + '/stylesheets',
dest: __dirname + '/public'
});
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');
}
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
})
var app = connect();
app.middleware({
src: __dirname
, dest: __dirname + '/public'
, compile: compile
})