טיש פון קאָנטענץ[באַהאַלטן][ווייַזן]
ווען פּיקינג אַ ווייכווארג ביבליאָטעק אָדער פריימווערק, די דעוועלאָפּער דערפאַרונג איז יוזשאַוואַלי גענומען אין חשבון.
ווען איך דערמאָנען "דעוועלאָפּער דערפאַרונג," איך ריפערד צו ווי דעוועלאָפּערס טאַקע טאָן די אַרבעט. דעוועלאָפּערס קלייַבן לייברעריז אָדער פראַמעוואָרקס וואָס זענען ענדזשויאַבאַל צו נוצן.
דאָס איז איינער פון די הויפּט סיבות וואָס מיר איצט האָבן די מערסט פאָלקס לייברעריז און פראַמעוואָרקס. ווי דעוועלאָפּערס, מיר טאָן ניט האָבן צו אָנהייבן פֿון קראַצן ווען עס זענען יגזיסטינג מכשירים באשאפן צו אַרוישעלפן אונדז מיט אונדזער טאַסקס.
פראַמעוואָרקס זענען שטיק פון ווייכווארג וואָס זענען באשאפן און געניצט דורך דעוועלאָפּערס צו בויען אַפּלאַקיישאַנז, און NextJS איז איינער פון זיי.
אין דעם פּאָסטן, מיר וועלן גיין איבער Nextjs, זייַן שליסל פֿעיִקייטן און ווי מיר קענען נוצן עס צו בויען אַ אַפּלאַקיישאַן. לאמיר גלײך ארײנשפרינגן.
וואָס איז Next.js?
Next.js איז אַ דזשאַוואַסקריפּט פריימווערק פֿאַר געשווינד און לייכט קאַנסטראַקטינג סטאַטיק וועבפּאַגעס און רעאַקט-באזירט אָנליין אַפּלאַקיישאַנז. עס אַלאַוז איר צו פּלאַן גרויס וועב אַפּפּס פֿאַר אַ פאַרשיידנקייַט פון פּלאַטפאָרמס, אַרייַנגערעכנט Windows, Linux און Mac.
איר זאָל זיין באַקאַנט מיט די Next.js פריימווערק אויב איר האָבן מינימאַל פאַמיליעראַטי מיט רעאַגירן און איר ווילן צו לערנען מער וועגן די רעאַגירן יקאָוסיסטאַם.
כאָטש Next.js קומט מיט אַלץ איר דאַרפֿן צו אָנהייבן, איר קענען אויסקלייַבן NPM און Yarn, JavaScript און TypeScript, CSS און SCSS, סטאַטיק אַרויספירן און סערווערלעסס דיפּלוימאַנט.
איינריכטונגען
- רוטינג איז אויטאָמאַטיש דורכגעקאָכט - איר טאָן ניט דאַרפֿן צו קאַנפיגיער עפּעס ווייַל קיין URL איז מאַפּט צו די פילעסיסטעם, צו טעקעס אין די בלעטער טעקע (איר האָבן קוסטאָמיזאַטיאָן אָפּציעס, דאָך).
- קאָמפּאָנענטן פון אַ איין טעקע - עס איז פּשוט צו לייגן סטיילז סקאָמעד צו די קאָמפּאָנענט ניצן סטיילד-דזשסקס, וואָס איז טאָוטאַלי ינאַגרייטיד און געשאפן דורך דער זעלביקער מאַנשאַפֿט.
- רעלאָאַדינג אַ הייס קאָד - ווען Next.js דיטעקץ אַ מאָדיפיקאַטיאָן געראטעוועט צו דיסק, עס רילאָוד די בלאַט.
- דינאַמיש קאַמפּאָונאַנץ - איר קענען דינאַמיש לאָדן דזשאַוואַסקריפּט מאַדזשולז און רעאַקט קאַמפּאָונאַנץ.
- סטאַטיק עקספּאָרץ - Next.js אַלאַוז איר צו אַרויספירן אַ גאָר סטאַטיק פּלאַץ פֿון דיין אַפּ מיט די ווייַטער אַרויספירן באַפֿעל.
- קאַמפּאַטאַבילאַטי מיט די סוויווע - Next.js ינטאַגרייץ סימלאַס מיט די דזשאַוואַסקריפּט, נאָדע און רעאַקט יקאָוסיסטאַמז.
- אָטאַמאַטיק ספּליטטינג קאָדעס - בלויז די לייברעריז און דזשאַוואַסקריפּט וואָס זענען פארלאנגט זענען געניצט צו מאַכן בלעטער. אַנשטאָט צו שאַפֿן אַ איין דזשאַוואַסקריפּט טעקע מיט אַלע די קאָד פון די אַפּ, Next.js ינטעלידזשאַנטלי דיוויידז די אַפּ אין פילע רעסורסן.
ווי צו שאַפֿן אַ Next.js אַפּלאַקיישאַן?
ינסטאַלירונג
איר קענען נוצן די נאָדע npx באַפֿעל צו ינסטאַלירן און בויען אַ Next.js פּרויעקט.
דאָס וועט דזשענערייט אַ טעקע און אַלע די טעקעס, קאַנפיגיעריישאַנז און אנדערע ייטאַמז פארלאנגט צו לויפן אַ Next.js פּרויעקט.
איר קענען קאַטער די אַפּ אַמאָל עס איז דזשענערייטאַד.
בלעטער & רוטינג
צו שעפּן רוץ מיט Next.js, מיר טאָן ניט דאַרפֿן צו נוצן אַ רוטינג פריימווערק. רוטינג מיט Next.js איז אַ ווינטל צו שטעלן אַרויף. ווען איר נוצן די שאַפֿן-ווייַטער-אַפּ באַפֿעל צו בויען אַ נייַע Next.js אַפּ, די אַפּ קריייץ אַ טעקע גערופֿן 'זײַטלעך' דורך פעליקייַט.
דער טעקע "זײַטלעך" איז ווו איר האַלטן דיין רוץ. ווי אַ רעזולטאַט, יעדער ריאַקץ קאַמפּאָונאַנץ טעקע אין די סובדירעקטאָרי וועט זיין כאַנדאַלד ווי אַ באַזונדער מאַרשרוט.
פֿאַר בייַשפּיל, אויב דער טעקע כּולל די טעקעס:
- index.js
- וועגן.דזשס
- aricles.js
דער טעקע וועט ווערן אויטאָמאַטיש פארוואנדלען אין דריי וועגן:
- דער אינדעקס בלאַט לאָקאַלהאָסט / אינדעקס
- די וועגן בלאַט לאָקאַלהאָסט / וועגן
- די בלאָג בלאַט לאָקאַלהאָסט / אַרטיקלען
א ביישפּיל פון אַן about.js בלאַט איז געוויזן אונטן. גאָרנישט איז צוגעשטעלט וועגן דעם בלאַט, ווי איר קענען זען. עס איז פשוט אַ נאָרמאַל רעאַקט פאַנגקשאַנאַל קאָמפּאָנענט.
ראָוטעס
צו מאַכן נעסטעד רוץ, איר מוזן ערשטער פאַרלייגן אַ סובפאָלדער. פֿאַר בייַשפּיל: בלעטער / אַרטיקלען. שאַפֿן דיין 'contact.js' רעאַגירן קאָמפּאָנענט אין דער טעקע, און עס וועט דזשענערייט די בלאַט localhost/articles/contact.
אויב איר שטעלן איין טעקע אין pages/articles.js און אנדערן אין pages/articles/index.js. ביידע פאַרטראַכטנ זיך די זעלבע וועג לאָקאַלהאָסט / בלאָג. אין דעם סיטואַציע, Next.js וועט נאָר מאַכן די אַרטיקל.דזשס טעקע. וואָס וועגן דינאַמיש רוץ, אין וואָס יעדער בלאָג פּאָסטן האט זיין אייגענע וועג:
- localhost/blog/first-article
- localhost/blog/-second-article
ניצן די בראַקאַץ נאָוטיישאַן, איר קענען דעפינירן אַ דינאַמיש מאַרשרוט אין Next.js. פֿאַר בייַשפּיל: בלעטער/אַרטיקל/[סלוג].דזשס
לינק רוטס
איר'ווע איצט געענדיקט דיין ערשטער מאַרשרוט. איך בין געסינג איר פרעגן ווי צו פאַרבינדן בלעטער צו די רוץ. איר וועט דאַרפֿן 'ווייַטער / לינק' צו טאָן דאָס.
דאָ ס אַ ביישפּיל פון אַ היים בלאַט וואָס כולל אַ לינק צו די וועגן בלאַט:
אויב איר ווילט צו סטיל די לינק, נוצן די פאלגענדע סינטאַקס:
רידערעקט ראָוטעס
וואָס אויב איר דאַרפֿן צו צווינגען אַ רידערעקט צו אַ זיכער בלאַט? פֿאַר בייַשפּיל, ווען אַ קנעפּל איז געדריקט? איר קענען דערגרייכן דעם דורך ניצן 'router.push':
סעאָ
בלעטער אין וועב אַפּלאַקיישאַנז דאַרפן מעטאַ (קאָפּ) עלעמענטן אין אַדישאַן צו דאַטן אין די HTML גוף. דאָס וועט דאַרפן די ייַנמאָנטירונג פון אַן עקסטרע פאָדערונג מיט די נאָמען רעאַקט העלם אין אַ רעאַקט אַפּפּליקאַטיאָן.
מיר קענען נוצן די קאָפּ קאָמפּאָנענט פֿון ווייַטער / קאָפּ אין ווייַטער צו לייכט לייגן מעטאַדאַטאַ צו אונדזער וועבפּאַגעס וואָס וועט זיין געוויזן אין זוכן רעזולטאַטן און עמבעדז:
קאַמפּאָונאַנץ
איר וועט אָפט דאַרפֿן צו אַנטוויקלען קאַמפּאָונאַנץ אָדער אַ אויסלייג טעקע. פֿאַר בייַשפּיל, אַ קאָמפּאָנענט וואָס רענדערז די נאַוובאַר. מיר האָבן פּונקט געוויינט די בלעטער טעקע ביז איצט. וואָס אויב דיין קאָמפּאָנענט איז נישט מענט צו זיין אַ מאַרשרוט בלאַט?
איר טאָן ניט וועלן די באַניצער צו נאַוויגירן צו אַ בלאַט אַזאַ ווי אַ לאָקאַלהאָסט / נאַוובאַר. אויב איר שטעלן די Navbar.js קאָמפּאָנענט אין די בלעטער טעקע, דאָס איז וואָס וועט פּאַסירן. וואָס זאָל איר טאָן אין די סיטואַציע?
פשוט קראָם אַלע דיין 'ניט אַ בלאַט' קאַמפּאָונאַנץ אין אַ באַזונדער טעקע. רובֿ Next.js פּראַדזשעקס נוצן די מאָניקער 'קאָמפּאָנענטן' און דער טעקע איז דזשענערייטאַד אין דער וואָרצל טעקע פון דיין פּרויעקט.
קאָפּ קאָמפּאָנענט
דער ערשט בלאַט מאַסע איז רענדערד דורך Next.js אויף די סערווער זייַט. עס טוט דאָס דורך מאָדיפיצירן די HTML פון דיין בלאַט. די כעדער אָפּטיילונג איז אַרייַנגערעכנט.
די Next.js Head קאָמפּאָנענט איז געניצט צו געבן כעדער אָפּטיילונג טאַגס אַזאַ ווי טיטל און מעטאַ. דער קאָפּ קאָמפּאָנענט איז געניצט אין דעם בייַשפּיל פון אַ אויסלייג קאָמפּאָנענט.
שאַפֿן 404 בלאַט ניט געפֿונען
עס איז מעגלעך צו מאַכן דיין אייגענע 404 טעות בלאַט. איר זאל וועלן צו קאַסטאַמייז דעם אָנזאָג אָדער לייגן דיין אייגענע בלאַט פּלאַן. אין די בלעטער טעקע, שאַפֿן די 404.js טעקע.
ווען אַ 404 טעות אַקערז, Next.js וועט אויטאָמאַטיש רידערעקט צו דעם בלאַט. דאָ ס אַ ביישפּיל פון אַ פערזענליכען 404 בלאַט:
דאַטאַ פיטשינג פון סערווער זייַט
אַנשטאָט דאַונלאָודינג דאַטן אויף דער קליענט זייַט, Next.js אַלאַוז איר צו אָנפירן אַן ערשט דאַטן באַפעלקערונג, וואָס ימפּלייז שיקן די בלאַט מיט די דאַטן שוין פּאַפּיאַלייטאַד פֿון די סערווער.
איר האָבן צוויי ברירות פֿאַר ימפּלאַמענינג סערווער זייַט דאַטן פעטשינג:
- דאַטן זאָל זיין געבראכט אויף יעדער בקשה.
- באַקומען דאַטן בלויז אַמאָל איבער די קאַנסטראַקשאַן פּראָצעס (סטאַטיק פּלאַץ)
באַקומען דאַטן אויף יעדער בקשה
דער getServerSideProps מעטאָד איז געניצט צו מאַכן יעדער בקשה אויף די סערווער זייַט. די פונקציע קענען זיין אַרייַנגערעכנט אין די סוף פון דיין קאָמפּאָנענט טעקע. Next.js וועט אויטאָמאַטיש באַפעלקערן דיין קאָמפּאָנענט פּראַפּס מיט די getServerSideProps כייפעץ אויב די פֿונקציע איז פאָרשטעלן אין דיין קאָמפּאָנענט טעקע.
באַקומען דאַטן אין בויען צייט
דער getStaticProps אופֿן איז געניצט צו מאַכן די סערווער זייַט אין די בויען צייט. די פונקציע קענען זיין אַרייַנגערעכנט אין די סוף פון דיין קאָמפּאָנענט טעקע. דער אופֿן לויפט די סערווער קאָד און סענדז אַ GET בעטן צו די סערווער, אָבער בלויז אַמאָל ווען אונדזער פּרויעקט איז פאַרטיק.
פארוואס איר זאָל לערנען Next.js?
איינער פון די סיבות פֿאַר דעם איז ווייַל Next.js איז געבויט אויף שפּיץ פון רעאַקט, אַ פראָנט-סוף אַנטוויקלונג טאָאָלקיט פֿאַר שאפן באַניצער ינטערפייסיז וואָס זענען מיין באַליבסטע ברירה פֿאַר דיזיינינג וועב אַפּפּס.
אָבער עס וואָלט נישט זיין גענוג אויב Next.js איז נישט גוט אין וואָס עס האט ... רעכט?
אַזוי, וואָס פּונקט טוט עס טאָן?
מיר מוזן ערשטער דעפינירן עטלעכע באַגריף צו באַגרייַפן עס. Next.js פארדינט פּאָפּולאַריטעט ווייַל עס סאַלווד אַ פּראָבלעם וואָס פילע וועב דעוועלאָפּערס האָבן מיט קליענט-זייַט וועב אַפּפּס (אין דעם בלעטערער). די איין-בלאַט אַפּפּליקאַטיאָנס (ספּאַס) האָבן אַ בעסער דערפאַרונג זינט זיי טאָן ניט דאַרפֿן די באַניצער צו רילאָוד די בלאַט און ערלויבט פֿאַר מער ינטעראַקטיוויטי.
אָבער, ווייַל דער פאַרנעם פון דעם מאַטעריאַל אין אַ אַפּ ווי דעם ווערט קענטיק בלויז ווען עס איז דורכגעקאָכט אין דעם בלעטערער, וועב קראַוולערז האָבן אַ שווער צייט צו פֿאַרשטיין די טעקסט אינהאַלט פון אַזאַ אַ אַפּ.
ווי אַ רעזולטאַט, טראָץ זייער פּאָפּולאַריטעט, פילע ספּאַס פארבליבן לאַרגעלי אַנאַנאַמאַס צו גרויס זוכן ענדזשאַנז אַזאַ ווי Google. Next.js איצט ינקלודז אַ מער געזונט געבויט-אין מעקאַניזאַם פֿאַר סערווער זייַט רענדערינג (SSR) פון רעאַקט קאַמפּאָונאַנץ.
Next.js אַלאַוז דעוועלאָפּערס צו בויען דזשאַוואַסקריפּט קאָד אויף די סערווער בעשאַס די בויען פּראָצעס און צושטעלן יקערדיק, ינדעקסאַבאַל HTML צו דער באַניצער.
פּראָס
- גרויס פֿאַר באַניצער דערפאַרונג
- גרויס פֿאַר SEO
- בויען אַ סופּער-שנעל סטאַטיק וועבזייטל וואָס ביכייווז ווי אַ דינאַמיש
- בייגיקייט אין בנין UI & UX.
- פילע אַנטוויקלונג אַדוואַנטידזשיז
- גרויס קהל שטיצן
קאָנס
- וועבסיטעס אָדער אַפּלאַקיישאַנז האָבן אַ זיכער צייט צו בויען אָדער אַנטוויקלען.
- פֿאַר זיכער טאַסקס, Next.js איז ינאַדאַקוואַט. דעוועלאָפּערס זאָל קענען צו בויען דינאַמיש רוץ ניצן Node.js מכשירים.
סאָף
ווי איר קענען זען, Next.js סימפּלאַפייז רעאַקט אַפּ אַנטוויקלונג און אַלאַוז איר צו פאָקוס אויף וואָס איז מערסט וויכטיק - דיין אַפּ לאָגיק און וי. עס כולל אַלץ וואָס איז נויטיק צו שאַפֿן מאָדערן, פראָנטענד-רייַך און API-Powered אַפּפּס.
עס איז אויך צונעמען פֿאַר אינהאַלט-בלויז פּראַדזשעקס, אַזאַ ווי בלאָגס און געשעפט וועבסיטעס, רעכט צו זיין פיייקייט צו בויען סטאַטיק HTML בלעטער.
מיט די קראַנט אַדישאַנז, Next.js ניט בלויז מיינטיינז אַ הויך מדרגה פון דעוועלאָפּער דערפאַרונג אָבער אויך גיט מכשירים פֿאַר ינקריסינג וויזשאַוואַל פאָרשטעלונג און באַניצער דערפאַרונג, ינשורינג אַ העל צוקונפֿט פֿאַר דעם פריימווערק.
לאָזן אַ ענטפֿערן