如何在连接服务器中配置`中间件`

问题描述 投票:0回答:1

我正在将

connect
服务器与
serve-static
用于我的
angular
应用程序。根据
stylus
文档,他们要求使用
middleware
(https://learnboost.github.io/stylus/docs/middleware.html) 来使用
.styl
文件。我尝试过但没有成功。

在连接服务器文档中

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);});
node.js angularjs stylus node.js-connect
1个回答
1
投票

Stylus 中间件默认不再提供。 https://github.com/senchalabs/connect/blob/0680f226f6bf7cc0c9e21a5a54a83c2deda5c4b4/History.md#057--2011-02-01

您仍然可以像这样使用它

var stylus = require('stylus');

...

app.use(stylus.middleware(...));
© www.soinside.com 2019 - 2024. All rights reserved.