All language subtitles for 017 Using Modules 3_ 3rd Party Modules_Downloadly.ir_en

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian Download
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,370 --> 00:00:03,150 So far in this section, 2 00:00:03,150 --> 00:00:04,790 you learned how to require 3 00:00:04,790 --> 00:00:06,720 Node JS core modules. 4 00:00:06,720 --> 00:00:09,330 How to require your own modules. 5 00:00:09,330 --> 00:00:10,210 And so in this video, 6 00:00:10,210 --> 00:00:12,050 you're gonna learn how to require 7 00:00:12,050 --> 00:00:15,483 third-party modules from the NPM registry. 8 00:00:17,440 --> 00:00:19,863 Actually requiring a module 9 00:00:19,863 --> 00:00:22,530 that we already installed from NPM 10 00:00:22,530 --> 00:00:24,610 is really, really simple. 11 00:00:24,610 --> 00:00:27,380 So again we do all the requiring 12 00:00:27,380 --> 00:00:30,230 at the top and usually we require 13 00:00:30,230 --> 00:00:31,690 the core modules first, 14 00:00:31,690 --> 00:00:33,410 then the third-party modules, 15 00:00:33,410 --> 00:00:35,980 and then our own coming from 16 00:00:35,980 --> 00:00:37,793 our local file system like this. 17 00:00:38,940 --> 00:00:41,740 So the one that we are going to require 18 00:00:41,740 --> 00:00:43,360 is called slugify. 19 00:00:43,360 --> 00:00:45,000 Remember? 20 00:00:45,000 --> 00:00:46,400 This is the one that we installed 21 00:00:46,400 --> 00:00:48,350 in the previous lecture. 22 00:00:48,350 --> 00:00:50,780 And all we have to do to require it 23 00:00:50,780 --> 00:00:52,510 is to just like before 24 00:00:52,510 --> 00:00:54,120 use the require function 25 00:00:54,120 --> 00:00:57,770 and then simply the name of the package. 26 00:00:57,770 --> 00:01:00,010 And then OGS will automatically know 27 00:01:00,010 --> 00:01:01,450 that it will have to go into 28 00:01:01,450 --> 00:01:02,993 the node modules folder. 29 00:01:03,920 --> 00:01:07,260 So this folder where all the dependencies are, 30 00:01:07,260 --> 00:01:09,353 and search for that module there. 31 00:01:11,470 --> 00:01:12,610 Okay? 32 00:01:12,610 --> 00:01:17,430 So again this will then return a variable. 33 00:01:17,430 --> 00:01:20,483 And so we need to save that into a variable. 34 00:01:22,860 --> 00:01:27,860 And I'm calling it slugify here just like this. 35 00:01:27,910 --> 00:01:28,743 Okay? 36 00:01:28,743 --> 00:01:30,940 And so slugify will be a function, 37 00:01:30,940 --> 00:01:34,630 which we can use to basically create slugs. 38 00:01:34,630 --> 00:01:37,260 So again what is a slug? 39 00:01:37,260 --> 00:01:40,730 Well slug is basically just the last part 40 00:01:40,730 --> 00:01:44,030 of a URL that contains a unique string 41 00:01:44,030 --> 00:01:46,130 that identifies the resource 42 00:01:46,130 --> 00:01:48,263 that the website is displaying. 43 00:01:49,310 --> 00:01:50,590 So for example, 44 00:01:50,590 --> 00:01:52,380 in our node farm let's say 45 00:01:52,380 --> 00:01:54,810 that where we opened this avocado 46 00:01:54,810 --> 00:01:58,750 instead of having this ID equal zero 47 00:01:58,750 --> 00:02:01,190 we could have something like 48 00:02:01,190 --> 00:02:05,980 (clicking) fresh avocados, okay? 49 00:02:05,980 --> 00:02:08,289 And so this part here 50 00:02:08,289 --> 00:02:10,330 or actually just this part 51 00:02:10,330 --> 00:02:12,910 so this would be the slug. 52 00:02:12,910 --> 00:02:15,150 So it's basically this name here 53 00:02:15,150 --> 00:02:19,420 and then based into a unique string like this. 54 00:02:19,420 --> 00:02:20,830 And I'm sure that you have seen this 55 00:02:20,830 --> 00:02:23,090 all over the place like in blog posts. 56 00:02:23,090 --> 00:02:25,830 It's very common to do it like this. 57 00:02:25,830 --> 00:02:30,830 Or really anywhere where we do not simply want 58 00:02:30,900 --> 00:02:33,053 something like this. 59 00:02:33,990 --> 00:02:34,823 Okay? 60 00:02:34,823 --> 00:02:36,190 So ID equals one. 61 00:02:36,190 --> 00:02:38,130 Or we could also just use 62 00:02:38,130 --> 00:02:39,580 for example in this case here 63 00:02:40,830 --> 00:02:45,712 goat and so on and so forth. 64 00:02:45,712 --> 00:02:46,683 Okay. 65 00:02:46,683 --> 00:02:47,630 I'm not gonna run a tab on the entire name. 66 00:02:47,630 --> 00:02:50,120 But the idea is to use a slug, 67 00:02:50,120 --> 00:02:52,400 which is this so a unique string 68 00:02:52,400 --> 00:02:53,820 instead of just a number 69 00:02:53,820 --> 00:02:56,530 which is not meaningful to us at all. 70 00:02:56,530 --> 00:02:58,660 Now let's say this is the first time 71 00:02:58,660 --> 00:03:02,200 that you're using the slugify package. 72 00:03:02,200 --> 00:03:04,500 And so in order to figure out 73 00:03:04,500 --> 00:03:06,100 how it actually works 74 00:03:06,100 --> 00:03:07,870 we can search for the documentation 75 00:03:07,870 --> 00:03:09,173 here on NPM. 76 00:03:10,920 --> 00:03:15,323 So we just put the name of the package here. 77 00:03:16,770 --> 00:03:18,210 Then search for it. 78 00:03:18,210 --> 00:03:20,473 And so this is the one that we did install. 79 00:03:22,300 --> 00:03:23,510 All right. 80 00:03:23,510 --> 00:03:25,710 So we already did this part here. 81 00:03:25,710 --> 00:03:29,347 So requiring the module or the package here. 82 00:03:29,347 --> 00:03:31,240 And then down here we can see 83 00:03:31,240 --> 00:03:32,150 how we used it. 84 00:03:32,150 --> 00:03:33,580 So all we have to do 85 00:03:33,580 --> 00:03:36,320 is to use slugify as a function 86 00:03:36,320 --> 00:03:37,653 and then pass in a string. 87 00:03:39,740 --> 00:03:42,940 Then down here you see the options. 88 00:03:42,940 --> 00:03:46,690 And for example we can specify the replacement. 89 00:03:46,690 --> 00:03:49,140 So basically what the empty space 90 00:03:49,140 --> 00:03:50,600 will be replaced with. 91 00:03:50,600 --> 00:03:52,080 And usually that's this dash. 92 00:03:52,080 --> 00:03:54,343 So just like I was typing here. 93 00:03:55,770 --> 00:03:57,710 But we can specify something different 94 00:03:57,710 --> 00:04:00,853 like an underscore or nothing at all. 95 00:04:02,210 --> 00:04:03,043 Okay. 96 00:04:03,043 --> 00:04:04,330 Here we can specify that we want 97 00:04:04,330 --> 00:04:06,340 everything in a lower case. 98 00:04:06,340 --> 00:04:08,390 And so let's actually go ahead and do that 99 00:04:08,390 --> 00:04:09,393 now in our code. 100 00:04:10,390 --> 00:04:11,700 So we have slugify here 101 00:04:11,700 --> 00:04:13,940 and now just to test it 102 00:04:13,940 --> 00:04:16,512 let's do it here before we create the server. 103 00:04:20,310 --> 00:04:21,543 Console at log. 104 00:04:22,900 --> 00:04:25,803 Slugify to string. 105 00:04:29,160 --> 00:04:31,680 Fresh avocados and then I'm gonna specify 106 00:04:31,680 --> 00:04:34,410 the option that I just showed you, 107 00:04:34,410 --> 00:04:35,630 which is lower case 108 00:04:38,140 --> 00:04:40,120 and set it to true. 109 00:04:40,120 --> 00:04:40,953 Give it a save 110 00:04:41,880 --> 00:04:43,660 and remember that now no longer 111 00:04:43,660 --> 00:04:45,060 we have to close the app 112 00:04:45,060 --> 00:04:46,850 and restart it again. 113 00:04:46,850 --> 00:04:49,760 Node man does that automatically for us now. 114 00:04:49,760 --> 00:04:53,520 And so down here you already see fresh avocados. 115 00:04:53,520 --> 00:04:55,550 I simply did some mistake here. 116 00:04:55,550 --> 00:04:57,800 So it's lowercase. 117 00:04:57,800 --> 00:04:59,700 But it's still not working for some reason 118 00:04:59,700 --> 00:05:01,659 so let's go back here. 119 00:05:01,659 --> 00:05:02,492 Oh I see. 120 00:05:02,492 --> 00:05:04,203 It's actually just lower. 121 00:05:06,300 --> 00:05:07,460 But that's exactly what 122 00:05:07,460 --> 00:05:09,250 the documentation is for. 123 00:05:09,250 --> 00:05:11,890 So for us to see how something really works 124 00:05:11,890 --> 00:05:13,640 so that we can use the package 125 00:05:13,640 --> 00:05:14,773 correctly in our code. 126 00:05:15,640 --> 00:05:16,687 And so just like this, 127 00:05:16,687 --> 00:05:20,090 I created a slug out of 128 00:05:20,090 --> 00:05:22,053 our initial fresh avocado string. 129 00:05:23,040 --> 00:05:26,300 Let's now just do that for all of our products. 130 00:05:26,300 --> 00:05:28,250 So they are in data object. 131 00:05:28,250 --> 00:05:30,763 So let's create an array of all the slugs. 132 00:05:32,390 --> 00:05:33,383 So slugs. 133 00:05:34,470 --> 00:05:38,000 So data object dot map. 134 00:05:38,000 --> 00:05:40,460 And so this is again just regular JavaScript 135 00:05:40,460 --> 00:05:43,340 so that shouldn't be nothing to you. 136 00:05:43,340 --> 00:05:45,710 So we're looping over the data object 137 00:05:45,710 --> 00:05:48,163 and then create a new array based on that. 138 00:05:49,360 --> 00:05:52,100 And in each iteration what we're gonna do 139 00:05:52,100 --> 00:05:53,860 is to take the element 140 00:05:53,860 --> 00:05:55,933 and then create a slug out of that. 141 00:05:57,060 --> 00:06:01,623 So slugify element dot product name. 142 00:06:04,640 --> 00:06:07,390 So remember that is where 143 00:06:07,390 --> 00:06:08,740 the name of product is. 144 00:06:08,740 --> 00:06:10,713 So here you see product name. 145 00:06:12,130 --> 00:06:15,433 And so then this object. 146 00:06:21,407 --> 00:06:25,223 And let's actually log that one to the console. 147 00:06:28,320 --> 00:06:30,480 And indeed here we go. 148 00:06:30,480 --> 00:06:32,790 So these are our six slugs 149 00:06:32,790 --> 00:06:34,670 or actually just five 150 00:06:34,670 --> 00:06:37,100 out of our five products. 151 00:06:37,100 --> 00:06:37,933 All right. 152 00:06:37,933 --> 00:06:40,210 And so this is how we include 153 00:06:40,210 --> 00:06:42,061 a third-party module. 154 00:06:42,061 --> 00:06:44,430 Take a look at the documentation 155 00:06:44,430 --> 00:06:47,190 and then use it actually in our code. 156 00:06:47,190 --> 00:06:48,160 Okay. 157 00:06:48,160 --> 00:06:52,760 So this slugify is now a dependency of our code. 158 00:06:52,760 --> 00:06:54,151 Because without that package 159 00:06:54,151 --> 00:06:56,220 this piece of the code here 160 00:06:56,220 --> 00:06:58,261 would now no longer work. 161 00:06:58,261 --> 00:06:59,300 Right? 162 00:06:59,300 --> 00:07:01,670 So our code now depends on having 163 00:07:01,670 --> 00:07:05,630 the slugify package installed in the project. 164 00:07:05,630 --> 00:07:08,000 Now we could go ahead and actually store 165 00:07:08,000 --> 00:07:12,400 these slugs here into the data json 166 00:07:12,400 --> 00:07:13,610 and then build the app 167 00:07:13,610 --> 00:07:15,630 so that instead of the ID 168 00:07:15,630 --> 00:07:19,060 it displays the slug in the URL. 169 00:07:19,060 --> 00:07:20,480 But I'm not gonna go ahead 170 00:07:20,480 --> 00:07:22,350 and do that here because 171 00:07:22,350 --> 00:07:24,180 that's just using the same concepts 172 00:07:24,180 --> 00:07:26,230 that we learned before all over again. 173 00:07:26,230 --> 00:07:29,260 And so that doesn't add nothing new. 174 00:07:29,260 --> 00:07:30,840 All I wanted to do in this video 175 00:07:30,840 --> 00:07:33,500 is really to show you this process 176 00:07:33,500 --> 00:07:36,610 of integrating a new package into our code. 177 00:07:36,610 --> 00:07:38,640 Taking a look at the documentation, 178 00:07:38,640 --> 00:07:40,171 and then just do a simple example 179 00:07:40,171 --> 00:07:43,090 with that new module. 180 00:07:43,090 --> 00:07:44,660 So that was the goal of this video. 181 00:07:44,660 --> 00:07:46,120 That is completed now. 182 00:07:46,120 --> 00:07:48,240 And so let's now move on 183 00:07:48,240 --> 00:07:49,643 to the next one. 12541

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.