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

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

"Mọi hoạt động I/O trong Node. js không đồng bộ. "

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 đặt

Nú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

  1. Tải xuống bản phát hành mới nhất của Node. js từ (phiên bản mới nhất tại thời điểm viết bài này là 17. 9. 0 và phiên bản LTS mới nhất là 16. 14. 2). Điều này sẽ tải về. tập tin msi trên máy tính của bạn
  2. Chạy tệp và xem qua trình hướng dẫn thiết lập. Hầu hết các tùy chọn đều là tùy chọn—bạn không cần thay đổi đường dẫn chương trình trừ khi bạn có lý do chính đáng để. Bạn có thể chọn cài đặt Chocolatey (trình quản lý gói windows) hoặc bỏ qua bước
  3. Khi trình hướng dẫn hoàn tất và Node đã được cài đặt thành công, hãy mở thiết bị đầu cuối và chạy
    npm init
    
    47 để xem phiên bản Node đã cài đặt. Chạy
    npm init
    
    48 để xem phiên bản 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

 

JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ

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 init
49 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 init
50 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 init
51

1
util.log("Hello World!");

Để chạy tập lệnh này, chỉ cần chạy lệnh

npm init
52 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 init
50 mô-đun
npm init
54

1
var util = require("util");
npm init
0_______0_______1
npm init
2_______0_______3
npm init
4
npm init
5
npm init
6
npm init
7
npm init
8
npm init
9
1
0
1
1
1
2
1
3
1
4
1
5_______2_______6

Tập lệnh này nhập các mô-đun

npm init
51 và
npm init
54 và tạo một máy chủ HTTP. Hàm ẩn danh được truyền vào
npm init
57 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 init
58 trong trình duyệt của mình, bạn sẽ thấy Hello World

JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ

3. Máy chủ tệp tĩnh đơn giản

OK, 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
1
8
npm init
0
var util = require("util");
0
npm init
2
var util = require("util");
2
npm init
4
var util = require("util");
4
npm init
6
var util = require("util");
6
npm init
8
npm init
3
1
0
1
0
1
2
1
2
1
4
1
4
1
5
1
6
1
7
1
8
1
9
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
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
node test.js
0
node test.js
1
node test.js
2
node test.js
3
node test.js
4
node test.js
5
node test.js
6
node test.js
7
node test.js
8
node test.js
9
1
0
1
1
util.log("Hello World!");
4
1
3________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 init
59,
npm init
54,
npm init
61,
npm init
62 và
npm init
63 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 init
61 để 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 init
65, nối với
npm init
66 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 init
63 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 init
68, tệp đó sẽ được hiển thị trong trình duyệt của bạn

JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
Trang web tĩnh

4. Xây dựng API thời tiết trong Nút. js với Express

Xâ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 init
69 và mô-đun
npm init
70. 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 init
71 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 init
2
var util = require("util");
8
npm init
4
npm init
00
npm init
6
npm init
8
npm init
03
1
0
npm init
05
1
2
npm init
07
1
4
npm init
09
1
5_______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

JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
đầu ra

Truy 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 init
17

Bây giờ, thay thế mã

npm init
72 của bạn bằng mã sau

1
npm init
05
npm init
0
npm init
21
npm init
2
npm init
4
npm init
24
npm init
6
npm init
26
npm init
8
npm init
28
1
0
npm init
30
1
2
npm init
32
1
4
npm init
34
1
5
npm init
36
1
7
npm init
38
1
9
npm init
40
util.log("Hello World!");
1
npm init
42
util.log("Hello World!");
3
npm init
09

Đ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 init
73 để 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 init
74. 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 init
75

Lưu bài kiểm tra của bạn. js, hãy chạy

npm init
76 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 init
46

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

JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
JavaScript hoạt động như thế nào trên máy chủ
Dự báo thời tiết cho Nairobi

Bước tiếp theo

Nú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 ở đó.