Stylus捆綁了一個可選函數,名叫url(),其替換了字面上的url()調用(且使用base64 Data URIs有條件地內聯它們)。
通過require('stylus').url該函數本身是可用的,其接受一個options對象,當看到url()時候,返回Stylus內部調用的函數。
.define(name, callback)方法指定了一個可被調用的JavaScript函數。在這種情況下,因為我們圖片在./css/images中,我們可以忽視paths選項(默認情況下,會查找相關要呈現的圖像文件)。如果愿意,該行為時可以改變的。
stylus(str)
.set('filename', __dirname + '/css/test.styl')
.define('url', stylus.url())
.render(function(err, css){
});
例如,想象圖片在./public/images, 我們想要使用url(images/tobi.png), 我們可以傳遞paths公共目錄。這樣,它就成為了向上查找進程的一部分。
同樣,如果我們想替換為url(tobi.png), 我們可以傳遞paths: [__dirname + '/public/images'].
stylus(str)
.set('filename', __dirname + '/css/test.styl')
.define('url', stylus.url({ paths: [__dirname + '/public'] }))
.render(function(err, css){
});
更多建議: