Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,270 --> 00:00:02,680
So now that you know the
2
00:00:02,680 --> 00:00:05,850
absolute fundamentals of Node.JS.,
3
00:00:05,850 --> 00:00:07,820
let's take the rest of the section
4
00:00:07,820 --> 00:00:10,350
to talk a little bit about npm,
5
00:00:10,350 --> 00:00:12,713
so the node package manager.
6
00:00:14,390 --> 00:00:17,490
So the node package manager is a command line
7
00:00:17,490 --> 00:00:20,200
interface app that automatically comes
8
00:00:20,200 --> 00:00:22,520
included with Node JS
9
00:00:22,520 --> 00:00:24,770
in which we use to install and manage
10
00:00:24,770 --> 00:00:26,870
Open Source packages.
11
00:00:26,870 --> 00:00:29,350
Now these packages that I just mentioned,
12
00:00:29,350 --> 00:00:32,020
they usually come from the package repository
13
00:00:32,020 --> 00:00:33,467
that is also npm.
14
00:00:34,390 --> 00:00:37,250
So at npm.js, you can take a look
15
00:00:37,250 --> 00:00:39,880
at all the modules or packages
16
00:00:39,880 --> 00:00:43,530
that are included in the npm repository.
17
00:00:43,530 --> 00:00:47,100
So npm is actually both the command line interface app
18
00:00:47,100 --> 00:00:49,650
that we use to manage the packages
19
00:00:49,650 --> 00:00:51,873
and also the repository itself.
20
00:00:53,323 --> 00:00:55,050
And actually, it's the largest software
21
00:00:55,050 --> 00:00:56,700
registry in the world,
22
00:00:56,700 --> 00:00:59,530
no matter what language we're talking about.
23
00:00:59,530 --> 00:01:01,130
And by the time of this recording,
24
00:01:01,130 --> 00:01:04,209
it has about 800,000 packages.
25
00:01:04,209 --> 00:01:06,880
So sometime, in the near future
26
00:01:06,880 --> 00:01:09,940
it will probably have over a million packages
27
00:01:09,940 --> 00:01:11,800
here on npm.
28
00:01:11,800 --> 00:01:14,450
So, let's for example,
search for express,
29
00:01:14,450 --> 00:01:17,250
which is the node framework that we're going to use
30
00:01:17,250 --> 00:01:19,870
throughout most of the rest of the course.
31
00:01:19,870 --> 00:01:21,940
And so, for example,
32
00:01:21,940 --> 00:01:23,620
you can then click on it,
33
00:01:23,620 --> 00:01:25,430
and here you have all the information
34
00:01:25,430 --> 00:01:28,160
about each of the modules.
35
00:01:28,160 --> 00:01:29,890
So you can see that, for example,
36
00:01:29,890 --> 00:01:33,550
this one is download almost eight million times
37
00:01:33,550 --> 00:01:35,410
in the last week.
38
00:01:35,410 --> 00:01:38,803
So you see that it's a hugely popular package.
39
00:01:40,180 --> 00:01:43,350
Then, here, usually you have some documentation.
40
00:01:43,350 --> 00:01:45,870
But for now, that doesn't really matter.
41
00:01:45,870 --> 00:01:50,514
So for now, we're just interested in what npm actually is.
42
00:01:50,514 --> 00:01:53,260
Probably, you have used npm, yourself,
43
00:01:53,260 --> 00:01:56,870
before when working on front-end development.
44
00:01:56,870 --> 00:02:00,580
Because these days, npm is actually not just used
45
00:02:00,580 --> 00:02:01,860
for node development,
46
00:02:01,860 --> 00:02:05,130
but really across the entire Java's stack.
47
00:02:05,130 --> 00:02:07,920
So, for example, if you'll search for react,
48
00:02:07,920 --> 00:02:09,949
it's also gonna be here.
49
00:02:09,949 --> 00:02:11,890
So really, all these popular libraries
50
00:02:11,890 --> 00:02:12,860
and frameworks,
51
00:02:12,860 --> 00:02:16,813
they are all really on the npm registry.
52
00:02:18,490 --> 00:02:23,490
Basically, npmjs.com is where all these packages are hosted.
53
00:02:24,150 --> 00:02:27,150
Now, about the command line interface, itself,
54
00:02:27,150 --> 00:02:31,220
it actually comes already pre-installed with NodeJS.
55
00:02:31,220 --> 00:02:33,190
So, let's now actually start using it,
56
00:02:33,190 --> 00:02:35,400
and go back to our project.
57
00:02:35,400 --> 00:02:38,550
So here we have still our terminal open,
58
00:02:38,550 --> 00:02:41,000
but I'm gonna quit now this process here,
59
00:02:41,000 --> 00:02:45,160
so I hit control c and then clear the terminal.
60
00:02:45,160 --> 00:02:49,850
Npm is a software that we basically use to manage
61
00:02:49,850 --> 00:02:52,710
the third party Open Source packages that
62
00:02:52,710 --> 00:02:56,390
we choose to include and use in our project.
63
00:02:56,390 --> 00:02:58,190
And the first thing that they usually do
64
00:02:58,190 --> 00:03:00,400
whenever we start a new project,
65
00:03:00,400 --> 00:03:02,550
is to start with npm init.
66
00:03:04,030 --> 00:03:08,570
So we use npm as the command and then init.
67
00:03:08,570 --> 00:03:12,020
And this will basically create a package.jason file.
68
00:03:12,020 --> 00:03:16,110
Which is kind of a configuration file of our project
69
00:03:16,110 --> 00:03:19,780
where all kinds of data about the project is stored.
70
00:03:19,780 --> 00:03:23,190
We're gonna see more about that once that is finished.
71
00:03:23,190 --> 00:03:26,670
So npm init is now asking us a bunch of questions
72
00:03:26,670 --> 00:03:28,510
as you see down here.
73
00:03:28,510 --> 00:03:30,160
And, maybe, if you're not seeing it,
74
00:03:30,160 --> 00:03:32,630
I will increase this a bit.
75
00:03:32,630 --> 00:03:34,760
So, first thing that we need to specify
76
00:03:34,760 --> 00:03:36,400
is the package name.
77
00:03:36,400 --> 00:03:38,253
And this one is called node farm.
78
00:03:40,440 --> 00:03:43,790
So we need to use a url friendly name here,
79
00:03:43,790 --> 00:03:45,490
so that's why I have the hyphen.
80
00:03:45,490 --> 00:03:47,580
And what you see here is the suggested name,
81
00:03:47,580 --> 00:03:50,020
but I don't want the one in there,
82
00:03:50,020 --> 00:03:52,630
so I just retype node farm here.
83
00:03:52,630 --> 00:03:54,110
Then we have the version,
84
00:03:54,110 --> 00:03:56,247
so we can just hit return here on this one.
85
00:03:56,247 --> 00:04:01,247
And in the description, learning node js.
86
00:04:01,470 --> 00:04:03,940
The entry point is the next.js,
87
00:04:03,940 --> 00:04:05,840
but again, this doesn't really matter.
88
00:04:05,840 --> 00:04:07,420
We don't have any test command,
89
00:04:07,420 --> 00:04:09,053
so just hit return again.
90
00:04:10,040 --> 00:04:11,810
Now we'll get keywords,
91
00:04:11,810 --> 00:04:13,460
doesn't really matter again.
92
00:04:13,460 --> 00:04:14,913
The author is me.
93
00:04:15,840 --> 00:04:18,399
You can put your own name, of course,
94
00:04:18,399 --> 00:04:21,470
and license and so,
95
00:04:21,470 --> 00:04:25,240
one that's okay, to confirm that this is the file
96
00:04:25,240 --> 00:04:26,073
that we want.
97
00:04:27,260 --> 00:04:30,473
Actually, it created it right away here on this left side.
98
00:04:32,660 --> 00:04:34,193
Bring it down again here.
99
00:04:37,350 --> 00:04:40,370
So, indeed, this is our package Jason file,
100
00:04:40,370 --> 00:04:42,180
with this very basic information
101
00:04:42,180 --> 00:04:44,200
about the project for now.
102
00:04:44,200 --> 00:04:46,780
But there is a lot of stuff that can be added
103
00:04:46,780 --> 00:04:51,290
to this file and we will do so later in another project.
104
00:04:51,290 --> 00:04:54,750
Also, right in the next video which is where we're gonna
105
00:04:54,750 --> 00:04:56,260
installing packages.
106
00:04:56,260 --> 00:04:59,610
And these packages are then also registered here
107
00:04:59,610 --> 00:05:03,300
in this file so that we can keep tract of all the packages
108
00:05:03,300 --> 00:05:04,623
that we're actually using.
109
00:05:05,660 --> 00:05:09,380
So, in our next video we're then going to finally install
110
00:05:09,380 --> 00:05:11,263
some real packages here.
8316
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.