Để bắt đầu với tin xấu: Vì Node.js là một kỹ thuật khá trẻ, tôi nghĩ bạn sẽ thấy rằng việc tạo ra một trang web chính thức và duy trì/vận hành nó sẽ rất khác với những gì bạn đang sử dụng đến.
Josh3736 thêm: Khi bạn tìm hiểu cách Node.js và các gói khác nhau của nó (Kết nối, Express) hoạt động, tôi thấy rằng bạn có thể phát triển các trang mới rất nhanh.
Cạnh gồ ghề hiện có trong Node.js, kết hợp với tốc độ phát triển nhanh và tất cả các mô đun liên quan có thể làm phức tạp mọi thứ và làm mọi việc đơn giản hơn, nhanh chóng và đơn giản hơn bạn muốn.
Có đó ra khỏi con đường, đây là tin tốt:
Các Node Package Manager, NPM có rất nhiều công cụ tốt và khuôn khổ để mở rộng chức năng xương trần Node.js của, làm cho nó phù hợp để tạo ra một máy chủ web.
Đáng chú ý nhất sẽ là Express Framework chứa hầu hết mọi thứ bạn cần để chạy máy chủ web (bao gồm cookie, phiên và định tuyến đường dẫn). Ngoài ra Express hỗ trợ partials, mà chăm sóc đầu trang và chân trang của bạn bao gồm.
Express được xây dựng trên đầu trang của Sencha's Connect. Cookie và phiên thực sự được cung cấp bởi Connect. Express là những gì đơn giản hóa việc định tuyến của bạn và xử lý các khung nhìn/partials. Vì vậy, nếu bạn không cần tất cả chuông và còi đi kèm với Express bạn chỉ có thể đi cho Connect thay thế.
Nếu bạn muốn sử dụng mẫu cho các partials này, Jade Template Engine có thể tăng tốc cho bạn. Mặc dù Josh3736 chỉ ra rằng Jade là chậm và khoảng trắng đáng kể. Bạn có thể tìm thấy tổng quan đầy đủ hơn here, bao gồm số yêu thích của mình, doT. (Cá nhân tôi chỉ sử dụng Node.js cho các ứng dụng dựa trên socket.io
, vì vậy anh ấy là một nguồn tốt hơn tôi khi nói đến việc tạo khuôn mẫu).
Bạn có thể kết nối với MySQL từ Node.js bằng mô-đun db-mysql, nhưng nếu bạn không cần điều đó vì bạn đang truy cập dữ liệu được kết nối với hệ thống đã có, tôi khuyên bạn nên sử dụng nhiều hơn. .. phương pháp tiếp cận 'hiện đại', là sử dụng cơ sở dữ liệu NoSQL vì hầu hết các dự án Node.js dường như làm. MongoDB qua Mongoose là cách phổ biến để sử dụng.
Hoặc nếu nó chỉ lưu trữ các đối tượng bạn quan tâm, chỉ cần thay thế Redis (có thể bạn sẽ cần đến một số điểm).
Khi trang web của bạn hoàn tất, bạn sẽ phải triển khai và đảm bảo trang web tiếp tục chạy. Có nhiều cách để làm như vậy, như sử dụng hỗ trợ cụm dựng sẵn hoặc sử dụng mô-đun n232 forever
thân thiện với tính năng hơn. See this SO question of mine for more information.
Kết luận:
Những gì tôi đang cố gắng để có được ở đây là:
Yêu cầu những gì các thực hành tốt nhất để xây dựng một trang web trong Node.js được, là về giống như hỏi gì cách tốt nhất để xây dựng một trang web bằng PHP là: 100 nhà phát triển sẽ cung cấp cho bạn 100 câu trả lời khác nhau.
NPM được ban phước với một loạt các khung công tác tuyệt vời giúp đơn giản hóa rất nhiều công việc liên quan, nhưng tất cả đều dựa trên sở thích, đó là cách thực sự.
Như tôi đã nói, Node.js vẫn là một kỹ thuật khá trẻ, do đó, không có khung công cụ hoặc công cụ bổ sung nào xuất hiện dưới dạng 'tiêu chuẩn defacto'; đối với hầu hết mọi thứ bạn đang cố gắng thực hiện, có thể có nhiều lựa chọn thay thế và mong đợi mã của bạn bị hỏng khi sử dụng hầu hết trong quá trình cập nhật, vì việc phát triển Node.js và hầu hết các mô-đun đều có nhịp độ nhanh. Bạn sẽ phải theo kịp.
Đưa nó tất cả cùng nhau:
Như tôi đã nói, việc sử dụng sản xuất chính của tôi cho Node.js là để có thể sử dụng socket.io
, vì vậy tôi không có bất kỳ ví dụ sản xuất tốt hiện nay (Và khi tôi chuẩn bị rời đi trong một kỳ nghỉ xứng đáng, tôi cũng không có thời gian để cùng nhau đi cùng nhau).Có một số ví dụ tốt mặc dù:
Một lần nữa, con đường để đi (và sau đó là các ví dụ để làm theo) phụ thuộc rất lớn vào mục tiêu cuối cùng của bạn và kỹ thuật được lựa chọn, nhưng may mắn có rất nhiều nguồn lực sẵn có cho tất cả các lựa chọn có sẵn. Hầu hết các mô-đun đều sử dụng các kho lưu trữ GitHub được tài liệu hóa tốt và bao gồm các ví dụ kết hợp với các mô-đun phổ biến nhất (Xem thư mục /examples/
dường như có mặt trong hầu hết các kho lưu trữ).
Chúc may mắn! (Và nhờ Josh3736 để sửa lỗi của tôi.)
Tôi cũng muốn chỉ ra rằng việc kiểm tra mã của bạn bằng cách sử dụng ví dụ như mocha -> https://github.com/visionmedia/mocha là rất quan trọng. Tạo mã mô-đun nhỏ được thử nghiệm (mô-đun). – Alfred
Bạn cũng có thể xem Erlang hỗ trợ đồng thời theo mặc định, nhanh hơn node.js và dễ hơn nói C hoặc Java. –