1
00:00:04,070 --> 00:00:09,330
JavaScript được thiết kế như

2
00:00:09,330 --> 00:00:15,710
một ngôn ngữ kịch bản cho trình duyệt đã chứng kiến triển khai vượt xa trình duyệt.

3
00:00:15,710 --> 00:00:19,650
Node.js đã đóng một vai trò quan trọng trong

4
00:00:19,650 --> 00:00:25,440
sự thay đổi này của JavaScript từ trình duyệt sang máy tính để bàn.

5
00:00:25,440 --> 00:00:31,735
Bây giờ chúng ta hãy tìm hiểu một chút về những gì Node.js là và những gì vai trò NPM,

6
00:00:31,735 --> 00:00:37,200
các Node Package Manager chơi trong bối cảnh của Node.js.

7
00:00:37,200 --> 00:00:41,200
Node.js như tôi đã đề cập trước đó,

8
00:00:41,200 --> 00:00:45,520
cho phép chúng tôi mang lại sức mạnh của JavaScript cho máy tính để bàn.

9
00:00:45,520 --> 00:00:47,900
Node.js dựa trên

10
00:00:47,900 --> 00:00:53,570
công cụ thời gian chạy JavaScript đã được xây dựng cho trình duyệt Chrome.

11
00:00:53,570 --> 00:00:58,610
Vì vậy, Chrome V8 JavaScript Engine đã được chuyển từ trình duyệt để

12
00:00:58,610 --> 00:01:04,470
chạy trên máy tính để bàn và hỗ trợ thực hiện các chương trình JavaScript trên máy tính để bàn.

13
00:01:04,470 --> 00:01:08,090
Node.js được xây dựng xung quanh một

14
00:01:08,090 --> 00:01:12,845
mô hình I/O theo hướng sự kiện, không chặn mà làm cho nó rất hiệu quả để chạy

15
00:01:12,845 --> 00:01:18,190
các chương trình JavaScript trên desktop không đồng bộ JavaScript trên desktop.

16
00:01:18,190 --> 00:01:23,180
Bây giờ, đây là nơi nút tìm thấy túi thực sự của nó.

17
00:01:23,180 --> 00:01:27,125
Đây là kiến trúc điển hình của Node.js.

18
00:01:27,125 --> 00:01:34,150
Vì vậy, trong này, công cụ Chrome V8 nằm ở lớp dưới cùng cùng với libuv,

19
00:01:34,150 --> 00:01:37,940
tạo thành lớp tương tác với

20
00:01:37,940 --> 00:01:43,025
hệ thống máy tính cơ bản để hỗ trợ thực hiện các chương trình JavaScript.

21
00:01:43,025 --> 00:01:47,330
Trên đầu trang của nó, chúng tôi có các ràng buộc nút mà cũng sẽ thực hiện trong C++.

22
00:01:47,330 --> 00:01:48,865
Ở lớp trên cùng,

23
00:01:48,865 --> 00:01:54,345
bạn có Node.js và Standard Library được thực hiện trong JavaScript,

24
00:01:54,345 --> 00:02:00,919
và đây là những gì cho phép chúng tôi viết các chương trình JavaScript và chạy chúng trên desktop.

25
00:02:00,919 --> 00:02:06,950
Đương nhiên, khả năng chạy các chương trình JavaScript trên máy tính để bàn tiếp thêm sinh lực

26
00:02:06,950 --> 00:02:11,170
cho cộng đồng phát triển web để khám phá bằng cách sử dụng

27
00:02:11,170 --> 00:02:16,220
JavaScript để phát triển một số lượng đáng kể các công cụ phát triển web.

28
00:02:16,220 --> 00:02:18,510
Các công cụ như Bower, Grunt,

29
00:02:18,510 --> 00:02:21,150
Gulp, Yeoman, và nhiều công cụ khác.

30
00:02:21,150 --> 00:02:23,975
Khóa học này trong chuyên môn hóa này như tôi đã đề cập

31
00:02:23,975 --> 00:02:27,485
nhìn vào việc sử dụng Node.js ở phía máy chủ,

32
00:02:27,485 --> 00:02:34,080
làm thế nào chúng ta có thể phát triển web server logic kinh doanh tất cả được thực hiện trong JavaScript.

33
00:02:34,080 --> 00:02:41,075
Cùng với nút, bạn thường nghe mọi người nói về Node Package Manager hoặc NPM.

34
00:02:41,075 --> 00:02:43,495
Khi bạn cài đặt Node trên máy tính của bạn,

35
00:02:43,495 --> 00:02:45,695
NPM sẽ tự động được cài đặt.

36
00:02:45,695 --> 00:02:52,250
Node Package Manager là người quản lý cho hệ sinh thái No

37
00:02:52,250 --> 00:02:55,640
de quản lý tất cả các module và gói Node

38
00:02:55,640 --> 00:03:00,005
đã được nhiều người dùng khác nhau công khai.

39
00:03:00,005 --> 00:03:06,500
Một gói Node điển hình bao gồm các tập tin JavaScript cùng với một tập tin

40
00:03:06,500 --> 00:03:13,145
gọi là package.json là tập tin manifest cho mô-đun nút này.

41
00:03:13,145 --> 00:03:16,610
Chúng ta sẽ xem xét cách chúng ta có thể sử dụng

42
00:03:16,610 --> 00:03:23,330
tệp package.json chi tiết hơn trong các bài tập tiếp theo.