2015-06-09 3 views
0

Я использую сервер connect с serve-static для моего angular приложений. в соответствии с документом stylus они просят использовать middleware (https://learnboost.github.io/stylus/docs/middleware.html) для утилизации файла .styl. я пытался, но не работал.Как настроить `middleware` на сервере подключения

В подключаемом сервере doc https://github.com/senchalabs/connect#readme показывает какой-то способ, который я не понимаю.

вот мой код:

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

var app = connect(); 

app.middleware({ 
    src: __dirname + '/css', 
    dest: __dirname + '/css' 
}); 

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

app.use(serveStatic("app")); 
app.listen(5000, function() {console.log("HI");}); 

Любой один помочь мне конфиг в середине изделия здесь?

ошибка я получаю прямо сейчас:

D:\Projects\TCP>node server.js 
D:\Projects\TCP\server.js:6 
app.middleware({ 
    ^
TypeError: undefined is not a function 
    at Object.<anonymous> (D:\Projects\TCP\server.js:6:5) 
    at Module._compile (module.js:460:26) 
    at Object.Module._extensions..js (module.js:478:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Function.Module.runMain (module.js:501:10) 
    at startup (node.js:129:16) 
    at node.js:814:3 

D:\Projects\TCP> 

обновление

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

var app = connect(); 

app.use(stylus.middleware({ 
    src  : __dirname + '/app/css', 
    dest : __dirname + '/app/css', 
    force : true, 
    compile : function(str, path) { 
     return stylus(str, path) 
     .set('tcp', path) 
     .set('warn', true) 
     .set('compress', true); 
    } 
})); 

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

ответ

1

стилуса промежуточного слоя не поставляется больше по умолчанию. https://github.com/senchalabs/connect/blob/0680f226f6bf7cc0c9e21a5a54a83c2deda5c4b4/History.md#057--2011-02-01

Вы все еще можете использовать его как

var stylus = require('stylus'); 

... 

app.use(stylus.middleware(...)); 
+1

Спасибо, я из ошибок в настоящее время. но при изменении моего файла 'styl' ничего не происходит с html. как правильно синхронизировать файл .styl и каждый раз менять способ обновления? – 3gwebtrain

+1

опция «force» будет перекомпилировать каждый раз, когда – B3rn475

+1

уверен, позвольте мне попробовать. – 3gwebtrain

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