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

oho*_*ces 7 connect node.js

当我调用这个node.js文件时

var connect = require('connect');
var app = connect();
app.use(connect.static('public'));
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

我立刻得到了

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'
Run Code Online (Sandbox Code Playgroud)

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

oho*_*ces 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);
Run Code Online (Sandbox Code Playgroud)

  • 这应该在文档中......可悲的是,事实并非如此:( (2认同)