2015-06-18 2 views
0

Я получаю эту ошибку при запуске моего stylus с использованием сервера подключений. Я не получаю окончательный вариант, как файл .css.Stylus `middleware` выдает ошибку и не генерирует файл` css`

ошибка:

D:\Projects\TCP\node_modules\stylus\lib\renderer.js:187 
    this.options.paths.push(path); 
        ^
TypeError: Cannot read property 'push' of undefined 
    at Renderer.include (D:\Projects\TCP\node_modules\stylus\lib\renderer.js:187 
:21) 
    at Renderer.<anonymous> (D:\Projects\TCP\node_modules\nib\lib\nib.js:51:11) 
    at Renderer.use (D:\Projects\TCP\node_modules\stylus\lib\renderer.js:203:6) 
    at Object.compile (D:\Projects\TCP\server.js:12:55) 
    at D:\Projects\TCP\node_modules\stylus\lib\middleware.js:152:31 
    at fs.js:334:14 
    at FSReqWrap.oncomplete (fs.js:95:15) 

Мои Server.js:

var connect = require('connect'), 
    serveStatic = require('serve-static'), 
    nib = require('nib'), 
    stylus = require('stylus'); 

var app = connect(); 

app.use(stylus.middleware({ 
    src  : __dirname + '/public', 
    force : true, 
    compile : function compile(str, path) { 
       return stylus(str, path).set('filename', path).use(nib()); 
      } 
})); 

app.use(serveStatic("public")); 
app.listen(5000, function() {console.log("HI", __dirname);}); //works! 

.style файл на public/css/tcp.styl - из пут может быть то же самое место. в чем проблема? как его решить?

Заранее спасибо

ответ

1

Вы получили эту ошибку из-за этой линии:

return stylus(str, path).set('filename', path).use(nib()); 

Второй аргумент stylus вызов должен быть объект с параметрами не строка с пути. В вашем случае звонок должен быть всего stylus(str).

Смежные вопросы