connect.staticProvider问题

Nat*_*pos 2 node.js

我正在尝试这段代码:

var connect = require("connect");
var io = require("socket.io");
var spawn = require("child_process").spawn;

var server = connect.createServer(
    connect.favicon(),
    connect.logger(),
    connect.staticProvider(__dirname + '/public')
);
server.listen(8000);

var socket = io.listen(server, {flashPolicyServer: false});
var tail = spawn("tail", ["-f", "./nohup.out"]);

tail.stdout.on("data", function(data) {
    socket.broadcast(data.toString("utf8"));
});
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行它时,我收到一个错误:

Nathan-Camposs-MacBook-Pro:log Nathan$ node app.js  

node.js:134  
        throw e; // process.nextTick error, or 'error' event on first tick  
        ^  
TypeError: Object function createServer() {  
  if ('object' == typeof arguments[0]) {  
    return new HTTPSServer(arguments[0], Array.prototype.slice.call(arguments, 1));
  } else {
    return new HTTPServer(Array.prototype.slice.call(arguments));
  }
} has no method 'staticProvider'
    at Object.<anonymous> (/Users/Nathan/Sites/log/app.js:8:10)
    at Module._compile (module.js:407:26)
    at Object..js (module.js:413:10)
    at Module.load (module.js:339:31)
    at Function._load (module.js:298:12)
    at Array.<anonymous> (module.js:426:10)
    at EventEmitter._tickCallback (node.js:126:26)
Nathan-Camposs-MacBook-Pro:log Nathan$ 
Run Code Online (Sandbox Code Playgroud)

KAR*_*ván 6

我真的不知道连接库.但是这篇文档说,它static不是staticProvider(在1.0版本中).

所以你的服务器创建部分应该是:

var server = connect.createServer(
    connect.favicon(),
    connect.logger(),
    connect.static(__dirname + '/public')
);
Run Code Online (Sandbox Code Playgroud)