nodejs连接内置模块的使用 - >找不到方法

时间:2014-06-20 23:18:23

标签: node.js connect

当我调用此node.js文件

var connect = require('connect');
var app = connect();
app.use(connect.static('public'));
app.listen(3000);

我马上得到

app.use(connect.static('public'));
                      ^
TypeError: Object function createServer() {
  function app(req, res, next){ app.handle(req, res, next); }
  merge(app, proto);
  merge(app, EventEmitter.prototype);
  app.route = '/';
  app.stack = [];
  return app;
} has no method 'static'

使用Connect 3.0.1,集成模块是否有变化? 如果是,那么它是如何工作的呢?

2 个答案:

答案 0 :(得分:13)

连接3带来了重大变化:不再包含中间件模块。在github.com/expressjs找到它们。 "静态"现在是"服务静态"。它需要单独安装:

npm install serve-static

上面的代码现在应该是这样的:

var connect = require('connect');
var serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic('public'));
app.listen(3000);

答案 1 :(得分:1)

我必须安装connect和serve-static

npm install connect

然后输入:

npm install serve-static

下面的代码会给您一条很好的消息,告诉您服务器已连接到端口3000。

var connect = require('connect');
var serveStatic = require('serve-static');
var app = connect();
var port = 3000;
app.use(serveStatic(__dirname));
app.listen(port);
console.log('You are connected at port '+port);