2012-01-06 35 views
6

Tôi đang xem xét việc sử dụng khung Express trong dự án node.js tiếp theo của mình. Tuy nhiên, một trở ngại đối với tôi là sự tồn tại của việc tạo URL cho các tuyến đường như trong hầu hết các khuôn khổ không phải của Sinatra, ví dụ như Django, Flask, Rails, v.v.Tạo URL cho các tuyến đường trong Express

Tôi đã thử tìm một số phần mềm trung gian kết nối để phục vụ nhiệm vụ của mình và tôi đã tìm thấy Barista, Escort, Sherpa và những người thích nhưng nhìn vào các trang GitHub của họ, tất cả dường như đã chết và đang hoạt động. Vì vậy, tôi không muốn đi cho một cái gì đó mà không được duy trì nữa vì lý do rõ ràng.

Mối quan tâm chính của tôi ở đây là dự án có thể thực sự lớn và sẽ rất đau khi cập nhật URL trong mọi trang bất cứ khi nào yêu cầu kinh doanh và/hoặc thẩm mỹ thay đổi.

Có điều gì mà tôi không thấy trong tài liệu/kiểm tra không? Nếu không, sau đó làm thế nào để mở rộng khuôn khổ định tuyến trong Express để làm thế hệ URL và làm cho wrapper này có sẵn trong quan điểm của tôi cũng như chức năng điều khiển?

CẬP NHẬT: (22/3/2012) Tôi tìm thấy trang này: https://github.com/clyfe/tweet_express/wiki/TODO chỉ định một số bộ định tuyến tạo URL và tình cờ gặp bộ định tuyến hộ tống.

Trả lời

7

Bạn có thể thử Locomotive, được xây dựng trên Express.

Nó hoạt động nhiều hơn so với tạo đường. Từ các tài liệu: "Đầu máy mang lại cấu trúc dựa trên MVC bổ sung, để kiến ​​trúc các ứng dụng lớn hơn, đồng thời tận dụng sức mạnh của Express và Connect middleware."

Locomotive's router generates helpers tự động có sẵn cho bộ điều khiển và chế độ xem.

+0

Locomotive có vẻ khá thú vị .. cảm ơn! :) – Ishbir

11

Hoặc liên kết nhanh và sử dụng gói reversable-router.

Ví dụ từ readme:

app.get('/admin/user/:id', 'admin.user.edit', function(req, res, next){ 
    //... 
}); 

//.. and a helper in the view files: 
url('admin.user.edit', {id: 2}) 
+1

FYI, repo mới được duy trì ở đây: https://github.com/alubbe/named-routes – mindeavor

Các vấn đề liên quan