我正在通过Node for Front End devs工作,正如SO上的人已经指出,Connect不再有路由模块。有些人建议使用 Express,但我不确定确切的语法。
我正在处理的示例托管在这里:
github.com/garann/node-for-frontend-devs/blob/master/03-03.js
我想完成模板教程:
Node.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:// 部分。
感谢您的帮助。
尝试使用这个: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
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());
});
https://github.com/coolaj86/connect_router取自Connect 1.x的路由器,文档本质上是测试
原始文档在...某处。