JavaScript hoạt động như thế nào trên máy chủ
Nút. js là một khung chính để phát triển web hiện đại và giúp dễ dàng tạo các ứng dụng web thời gian thực, hiệu suất cao. Nó cho phép JavaScript được sử dụng từ đầu đến cuối, cả trên máy chủ và máy khách. Hướng dẫn này sẽ hướng dẫn bạn cài đặt Node và chỉ cho bạn cách viết chương trình "Xin chào thế giới" đầu tiên của bạn. Cuối cùng, bạn sẽ tiếp tục xây dựng API thời tiết với Node. js và Express Show
nút là gì. js?JavaScript theo truyền thống chỉ chạy trong trình duyệt web, nhưng sau khi được quan tâm đáng kể trong việc đưa nó lên phía máy chủ, Node. js đã được tạo Nút. js hơi khác so với các công nghệ máy chủ khác, vì nó dựa trên sự kiện thay vì dựa trên luồng. Các máy chủ web như Apache được sử dụng để phục vụ PHP và các tập lệnh CGI khác dựa trên luồng vì chúng tạo ra một luồng hệ thống cho mọi yêu cầu đến. Mặc dù điều này phù hợp với nhiều ứng dụng, nhưng mô hình dựa trên luồng không mở rộng tốt với nhiều kết nối tồn tại lâu như bạn cần để phục vụ các ứng dụng thời gian thực như ứng dụng nhắn tin nhanh
Nút. js sử dụng vòng lặp sự kiện thay vì chuỗi và có thể mở rộng thành hàng triệu kết nối đồng thời. Nó lợi dụng thực tế là các máy chủ dành phần lớn thời gian để chờ các thao tác I/O, chẳng hạn như đọc tệp từ ổ cứng, truy cập dịch vụ web bên ngoài hoặc đợi tệp tải lên xong, vì các thao tác này chậm hơn nhiều . Mọi thao tác I/O trong Node. js không đồng bộ, nghĩa là máy chủ có thể tiếp tục xử lý các yêu cầu gửi đến trong khi thao tác I/O đang diễn ra. JavaScript cực kỳ phù hợp với lập trình dựa trên sự kiện vì nó có các hàm và bao đóng ẩn danh giúp việc xác định các cuộc gọi lại nội tuyến trở nên dễ dàng và các nhà phát triển JavaScript đã biết cách lập trình theo cách này. Mô hình dựa trên sự kiện này làm cho Node. js rất nhanh và giúp mở rộng các ứng dụng thời gian thực rất dễ dàng 1. Cài đặtNút. js được hỗ trợ chính thức trên Linux, macOS, Microsoft Windows, SmartOS và FreeBSD. Để cài đặt phiên bản Node gần đây. js trên Windows (v16 trở lên), máy tính của bạn phải chạy trên Windows 8. 1, 10 hoặc 11 Nút. js được tích hợp sẵn với trình quản lý gói riêng của nó được gọi là trình quản lý gói nút hoặc viết tắt là npm, cho phép bạn cài đặt các mô-đun của bên thứ 3 từ sổ đăng ký npm
Ngoài ra, nếu bạn tìm kiếm Nút trong chương trình của mình, bạn nên tìm Nút. dấu nhắc lệnh js
Dấu nhắc lệnh cung cấp REPL (Vòng đọc-Đánh giá-In) nơi bạn có thể nhập vào Nút JavaScript. js và mã được đánh giá ngay lập tức và kết quả được xuất ra. Bạn cũng có thể tải JavaScript từ tệp bên ngoài vào phiên REPL, v.v. 2. Xin chào thế giới.Học bất kỳ công nghệ mới nào cũng bắt đầu bằng câu "Xin chào thế giới. " hướng dẫn, vì vậy chúng tôi sẽ tạo một máy chủ HTTP đơn giản phục vụ thông báo đó Đầu tiên, chúng ta sẽ tạo một Node mới. dự án js. Để tạo một cái, hãy mở terminal của bạn, thay đổi thư mục mà bạn muốn dự án của mình vào và chạy lệnh sau 1 npm init Bạn sẽ được nhắc cung cấp một số thông tin về thư viện của mình bao gồm tên thư viện, tác giả, tệp mục nhập, giấy phép và phiên bản và khi hoàn tất, một gói. json sẽ được tạo bằng thông tin được cung cấp. Để bỏ qua bước này, hãy gắn cờ npm init49 vào lệnh trên và Nút. js sẽ tạo một gói. json với một số giá trị mặc định Sau đó, tạo một tệp JavaScript trống và đặt tên là test. js Đối với bước tiếp theo, bạn phải hiểu Node. hệ thống mô-đun js. Trong Node, chức năng được gói gọn trong các mô-đun phải được tải để sử dụng. Có nhiều mô-đun được liệt kê trong Nút. tài liệu js. Bạn tải các mô-đun này bằng cách sử dụng hàm npm init50 như vậy (bên trong bài kiểm tra. js) 1 var util = require("util"); Điều này tải mô-đun util, chứa các chức năng tiện ích để xử lý các tác vụ ở cấp hệ thống như in đầu ra tới thiết bị đầu cuối. Để sử dụng một hàm trong một mô-đun, bạn gọi nó trên biến mà bạn đã lưu trữ mô-đun—trong trường hợp của chúng ta là npm init51 1 util.log("Hello World!"); Để chạy tập lệnh này, chỉ cần chạy lệnh npm init52 với tên tệp của tệp JavaScript làm đối số 1 node test.js Điều này sẽ xuất ra "Xin chào thế giới. " vào dòng lệnh khi chạy Để tạo một máy chủ HTTP, bạn phải npm init50 mô-đun npm init54 1 var util = require("util"); npm init0_______0_______1 npm init2_______0_______3 npm init4 npm init5 npm init6 npm init7 npm init8 npm init9 10 11 12 13 14 15_______2_______6 Tập lệnh này nhập các mô-đun npm init51 và npm init54 và tạo một máy chủ HTTP. Hàm ẩn danh được truyền vào npm init57 sẽ được gọi bất cứ khi nào có yêu cầu đến máy chủ. Khi máy chủ được tạo, nó sẽ được yêu cầu lắng nghe trên cổng 8080 Khi có yêu cầu đến máy chủ, trước tiên chúng tôi gửi tiêu đề HTTP với loại nội dung và mã trạng thái là 200 (thành công). Sau đó, chúng tôi gửi "Xin chào thế giới. " và đóng kết nối. Bạn có thể nhận thấy rằng chúng tôi phải đóng kết nối một cách rõ ràng. Điều này sẽ giúp truyền dữ liệu đến máy khách rất dễ dàng mà không cần đóng kết nối Nếu bạn chạy tập lệnh này và truy cập npm init58 trong trình duyệt của mình, bạn sẽ thấy Hello World 3. Máy chủ tệp tĩnh đơn giảnOK, vậy là chúng ta đã xây dựng một máy chủ HTTP, nhưng nó không gửi bất kỳ thứ gì ngoại trừ "Xin chào thế giới", bất kể bạn truy cập URL nào. Bất kỳ máy chủ HTTP nào cũng phải có khả năng gửi các tệp tĩnh như tệp HTML, hình ảnh và các tệp khác. Đoạn mã sau thực hiện điều đó 1 18 npm init0 var util = require("util");0 npm init2 var util = require("util");2 npm init4 var util = require("util");4 npm init6 var util = require("util");6 npm init8 npm init3 10 10 12 12 14 14 15 16 17 18 19 util.log("Hello World!");0 util.log("Hello World!");1 util.log("Hello World!");2 util.log("Hello World!");3 util.log("Hello World!");4 util.log("Hello World!");5 util.log("Hello World!");6 util.log("Hello World!");7 util.log("Hello World!");8 util.log("Hello World!");9 10 11 12 13 14 15 16 17 18 19 node test.js0 node test.js1 node test.js2 node test.js3 node test.js4 node test.js5 node test.js6 node test.js7 node test.js8 node test.js9 10 11 util.log("Hello World!");4 13________2__ Chúng tôi bắt đầu bằng cách yêu cầu tất cả các mô-đun mà chúng tôi sẽ cần trong mã của mình. Điều này bao gồm các mô-đun npm init59, npm init54, npm init61, npm init62 và npm init63 hoặc hệ thống tệp Tiếp theo, chúng tôi tạo một máy chủ HTTP như chúng tôi đã làm trước đây. Lần này, chúng tôi sẽ sử dụng mô-đun npm init61 để phân tích cú pháp URL đến của yêu cầu và tìm tên đường dẫn của tệp đang được truy cập. Chúng tôi tìm tên tệp thực tế trên ổ cứng của máy chủ bằng cách sử dụng npm init65, nối với npm init66 hoặc thư mục làm việc hiện tại, với đường dẫn đến tệp được yêu cầu Tiếp theo, chúng tôi kiểm tra xem tệp có tồn tại hay không, đây là hoạt động không đồng bộ và do đó yêu cầu gọi lại. Nếu tệp không tồn tại, thông báo 404 Not Found sẽ được gửi tới người dùng và hàm trả về. Mặt khác, chúng tôi đọc tệp bằng cách sử dụng mô-đun npm init63 bằng cách sử dụng mã hóa "nhị phân" và gửi tệp cho người dùng. Nếu có lỗi khi đọc tệp, chúng tôi sẽ đưa ra thông báo lỗi cho người dùng và đóng kết nối. Bởi vì tất cả điều này là không đồng bộ, máy chủ có thể phục vụ các yêu cầu khác trong khi đọc tệp từ đĩa, bất kể nó lớn đến mức nào Nếu bạn chạy ví dụ này và điều hướng đến npm init68, tệp đó sẽ được hiển thị trong trình duyệt của bạnTrang web tĩnh 4. Xây dựng API thời tiết trong Nút. js với ExpressXây dựng trên máy chủ tệp tĩnh của chúng tôi, chúng tôi sẽ xây dựng một máy chủ trong Node. js tìm nạp và hiển thị điều kiện thời tiết dự kiến của một thành phố nhất định. Để bắt đầu, chúng tôi sẽ cần thêm hai mô-đun bên thứ ba trong ví dụ này. mô-đun npm init69 và mô-đun npm init70. Express là một khung web được sử dụng để xây dựng các API RESTful trong Node. ứng dụng js. Chúng ta sẽ sử dụng mô-đun Express để xây dựng một điểm cuối API duy nhất sẽ lấy thành phố từ mỗi yêu cầu và phản hồi bằng nội dung HTML chứa điều kiện thời tiết dự báo cho thành phố. Thông tin thời tiết sẽ đến từ một API bên ngoài—vì vậy, chúng tôi sẽ sử dụng ứng dụng khách axios để thực hiện yêu cầu API Trước tiên, chúng ta sẽ cài đặt cả mô-đun Express và axios cùng lúc bằng lệnh sau 1 var util = require("util");3 Điều này sẽ cài đặt cả hai mô-đun từ sổ đăng ký npm. Trường npm init71 sẽ được thêm vào đối tượng JSON bên trong gói của bạn. json và bạn sẽ thấy phiên bản đã cài đặt của từng phần phụ thuộc. Thư mục node_modules cũng sẽ được tạo để theo dõi tất cả các mô-đun mà Express và axios sử dụng Bây giờ chúng ta đã cài đặt Express, chúng ta sẽ tạo ứng dụng Express bên trong thử nghiệm. js 1___ var util = require("util");5_______0_______0 npm init2 var util = require("util");8 npm init4 npm init00 npm init6 npm init8 npm init03 10 npm init05 12 npm init07 14 npm init09 15_______2_______7_______2_______1_______0_______13_______13_______15 Ở đây, trước tiên chúng tôi nhập Express và axios. Sau đó, chúng tôi thiết lập tuyến GET trên đường dẫn chỉ mục '/', phản hồi bằng một chuỗi đơn giản. Cuối cùng, chúng tôi phục vụ ứng dụng Express trên localhost. 3000 đầu raTruy cập Open Weather API và đăng ký miễn phí bộ sưu tập Dự báo và thời tiết hiện tại để nhận khóa API của bạn (bạn sẽ được nhắc đăng ký và nhận khóa của mình từ phần Khóa API) Với khóa API của bạn được bảo mật, đã đến lúc xây dựng mã sẽ tìm nạp và trả về điều kiện thời tiết dự báo cho một vị trí được cung cấp trong lộ trình GET của chúng tôi Khi bắt đầu thử nghiệm. js, bên dưới phần nhập, hãy sao chép khóa API của bạn từ Open Weather API và lưu trữ giá trị vào một biến 1 npm init17 Bây giờ, thay thế mã npm init72 của bạn bằng mã sau 1 npm init05 npm init0 npm init21 npm init2 npm init4 npm init24 npm init6 npm init26 npm init8 npm init28 10 npm init30 12 npm init32 14 npm init34 15 npm init36 17 npm init38 19 npm init40 util.log("Hello World!");1 npm init42 util.log("Hello World!");3 npm init09 Điều đầu tiên chúng tôi làm là truy xuất chuỗi truy vấn (thành phố) từ thuộc tính truy vấn Sau đó, chúng tôi tạo một yêu cầu GET cho API dự báo thời tiết bằng cách sử dụng axios. URL sẽ cần hai biến. thành phố chúng tôi muốn nhận dự báo và khóa API duy nhất được cung cấp trong bảng điều khiển API thời tiết mở của bạn Chúng tôi thiết lập một hàm npm init73 để xử lý phản hồi—nếu trạng thái phản hồi là 200 (có nghĩa là OK), chúng tôi sẽ gửi lại mô tả thời tiết cho thành phố, được cung cấp trong dữ liệu được trả về. Chúng tôi gửi lại thông tin này cho trình duyệt dưới dạng phản hồi bằng cách sử dụng phương pháp npm init74. Khi có lỗi, chúng tôi chỉ cần ghi dữ liệu lỗi vào bảng điều khiển qua npm init75 Lưu bài kiểm tra của bạn. js, hãy chạy npm init76 trên dòng lệnh của bạn và nhập URL sau vào trình duyệt của bạn 1 npm init46 Lưu ý rằng nairobi có thể được thay thế bằng bất kỳ thành phố nào bạn chọn. Đây là kết quả bạn sẽ nhận được Dự báo thời tiết cho NairobiBước tiếp theoNút. js là một công nghệ rất thú vị giúp dễ dàng tạo các ứng dụng thời gian thực hiệu suất cao. Tôi hy vọng bạn có thể thấy lợi ích của nó và có thể sử dụng nó trong một số ứng dụng của riêng bạn. Do hệ thống mô-đun tuyệt vời của Node, bạn có thể dễ dàng sử dụng các thư viện nguồn mở của bên thứ ba trong ứng dụng của mình và có sẵn các mô-đun cho mọi thứ. bao gồm các lớp kết nối cơ sở dữ liệu, công cụ tạo khuôn mẫu, ứng dụng thư khách và thậm chí toàn bộ khung kết nối tất cả những thứ này với nhau hạnh phúc gật đầu Bài đăng này đã được cập nhật với sự đóng góp từ Kingsley Ubah. Kingsley đam mê tạo ra nội dung giáo dục và truyền cảm hứng cho độc giả. Sở thích bao gồm đọc sách, bóng đá và đi xe đạp JavaScript có thể được sử dụng trên máy chủ không?JavaScript phía máy chủ là việc sử dụng ngôn ngữ JavaScript trên máy chủ . Bạn biết đấy, những chiếc máy tính luôn bật (và có thể trực tuyến) đang chạy mọi thứ, thực hiện mọi loại công việc. Ngày nay, nhiều người trong số họ có phần mềm, máy chủ web, ứng dụng dòng lệnh và các dịch vụ khác được viết bằng JavaScript.
Làm thế nào js hoạt động trên máy chủ?js được thực thi trên máy chủ; . Chẳng hạn, nếu bạn muốn lưu trữ một số dữ liệu trong tệp hoặc cơ sở dữ liệu, bạn cần sử dụng ngôn ngữ hoặc ứng dụng phía máy chủ. Nút. essentially working on the backend aspect of an application to manage data. For instance, if you wanted to store some data in a file or a database, you'd need to employ the use of a server-side language or application. Node.
Tại sao nên sử dụng JavaScript trên máy chủ?Chạy JavaScript trên máy chủ cho phép nhà phát triển của bạn làm việc trên cả giao diện người dùng và chương trình phụ trợ . Họ sẽ hiểu rõ hơn về toàn bộ dự án và hoàn toàn tránh được chi phí liên lạc giữa các nhóm riêng biệt. Họ có thể triển khai mọi tính năng từ đầu đến cuối bởi một nhà phát triển duy nhất.
JavaScript chạy cục bộ hay trên máy chủ?Không, hoàn toàn không cần máy chủ web cục bộ để chạy Javascript , ít nhất là đối với mã mà bạn đang cố chạy. Có một số cách để bạn biết mã của mình có hoạt động hay không, 1. Bạn chỉ có thể mở trình duyệt -> mở bảng điều khiển và chạy tập lệnh của mình ở đó. |