2

我正在通过Node 为前端开发人员工作,正如 SO 上的人已经指出的那样,Connect 不再有路由模块。有些人建议使用 Express,但我不确定确切的语法。

我正在处理的示例托管在这里:
github.com/garann/node-for-frontend-devs/blob/master/03-03.js

我反过来想完成关于模板的教程:
js:github.com/garann/node-for-frontend-devs/blob/master/04-02.js
html:github.com/garann/node-for-frontend -devs/blob/master/public/parent.html
并且想知道人们是否认为放弃这些基于 Connect 的教程并学习如何使用 Express 会更好?因为路由很可能需要 Express 无论如何..

由于如此出色的垃圾邮件保护,我不得不删除 github 链接的 https:// 部分。

谢谢你的帮助。

4

2 回答 2

4

尝试使用这个:https ://github.com/baryshev/connect-route

更新

在您的项目文件夹中执行:

npm install connect-route

从您的示例更新代码:

var connect = require("connect");
var connectRoute = require("connect-route");

connect(
  connect.static(__dirname + "/public"),
  connectRoute(function(app) {
    app.get("/sayHello/:firstName/:lastName", function(req, res) {
      var userName = req.params.firstName + " " + req.params.lastName,
        html = "<!doctype html>" +
          "<html><head><title>Hello " + userName + "</title></head>" +
          "<body><h1>Hello, " + userName + "!</h1></body></html>";

      res.end(html);
    });
  })
).listen(8000);

将您的浏览器指向:

http://[your_host_here]:8000/sayHello/nick/name

于 2012-08-14T11:26:37.750 回答
0

概括

connect.router在版本 2.x 中被删除。我从 1.x 中获取代码并将其发布为connect_router.

安装

npm install --save connect_router

用法

if (!connect.router) {
  connect.router = require('connect_router');
}

function route(rest) {
  rest.get('/api/hello', function (req, res) {
    res.end('hello');
  });
}

app = connect()
  .use(connect.router(route))
  ;

server = app.listen(port, function () {
  console.log('listening on', server.address());
});

在 Github 上

https://github.com/coolaj86/connect_router取自Connect 1.x 的路由器,文档基本上是测试

原始文档在……某处。

于 2014-05-19T16:00:47.263 回答