(function(w,d,s,l,i){w[l]=w[l]|||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=? 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); Darba sākšana ar Remix Framework - The Codest
The Codest
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Nozares
    • Fintech un banku darbība
    • E-commerce
    • Adtech
    • Healthtech
    • Ražošana
    • Loģistika
    • Automobiļu nozare
    • IOT
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
Atpakaļ bultiņa ATGRIEZTIES ATPAKAĻ
2022-04-12
Programmatūras izstrāde

Darba sākšana ar Remix Framework

The Codest

Reda Salmi

React Izstrādātājs

Remix ir pilna apjoma tīmekļa ietvarstruktūra, kas koncentrējas uz tīmekļa pamatiem un mūsdienīgu UX.

Jā, šis ir vēl viens JS sistēmu, bet tikai pieturēties nedaudz ilgāk, jo šī sistēma ir izveidota ar Maikls Džeksons un Raiens Florencs gudrie puiši, kas stāv aiz React maršrutētājs. Ceru, ka tas ieguva jūsu uzmanību, tāpēc paskatīsimies, kas ir labs par Remiksu sistēma.

komikss JS karkass ar smadzenēm

Tehniskā informācija

Remix ir servera puses ietvars, kas veidots, pamatojoties uz Web Fetch API un React maršrutētājs, katram maršrutam remiksā ir trīs galvenie eksporta veidi a iekrāvēji, un darbība un noklusējuma komponents eksports. Portāls iekrāvēji funkcija tiks izsaukta serverī pirms renderēšanas, lai nodrošinātu dati maršrutam, tad darbība funkcija ir atbildīga par datu mutāciju, noklusējuma eksports ir komponents, kas tiks atveidots šajā maršrutā. . iekrāvēji un darbība funkcijas tiek izpildītas tikai servera pusē, un tām jāatgriež Atbildes objekts, objekts noklusējuma eksports tiek veikts gan servera, gan klienta pusē.

Darba sākšana

Jaunas Remix programmas inicializēšana projekts:

npx create-remix@latest

SVARĪGI: izvēlieties "Tikai pamatlietas" un pēc tam "Remix App Server", kad tiks uzaicināts.

cd [neatkarīgi no projekta nosaukuma]
npm run dev
```

Atveriet http://localhost:3000. . create-remix komandā tiks izveidots starta veidni ar šādu struktūru:

remiksu mapju arhitektūra - scr
  • Portāls lietotne mapē būs ietverti visi jūsu lietojumprogrammas maršruti un kods.
  • Portāls app/entry.client.jsx ir pirmā koda daļa, kas tiek palaista pārlūkprogrammā un tiek izmantota, lai hidrāts . React sastāvdaļas.
  • Portāls app/entry.server.jsx ir pirmais koda elements, kas tiek palaists, kad pieprasījums nonāk uz servera, un šis fails atveido mūsu React lietotni uz virkni/straumi un nosūta to kā atbildi klientam.
  • Portāls app/root.jsx ir vieta, kur atrodas saknes komponents.
  • Portāls app/routes/ ir vieta, kur tiks novietoti visi jūsu maršruta moduļi, remix izmanto uz failu sistēmu balstītu maršrutēšanu.
  • Portāls publiski mapē tiek saglabāti statiskie resursi (attēli, fonti u. c.).
  • Portāls remix.config.js ir vieta, kur var iestatīt remiksa konfigurāciju.

Mazāk runu, parādiet man kodu

Pārbaudīsim login.jsx maršruta piemērs Remix lietotnē:

import { redirect, json, Form, useActionData, useTransition } from 'remix';
import { isLoggedIn, verifyLogin } from '../auth';

export const loader = async ({ request }) => {
if (await isLoggedIn(request)) {
return redirect('/dashboard');
}

return json({ success: true });
};

export const action = async ({ request }) => {
const formData = await request.formData();
const values = {
email: formData.get('email') ?? '',
password: formData.get('password') ?? '',
};

const errors = await verifyLogin(values);
if (errors) {
return json({ errors }, { status: 400 });
}

return redirect('/dashboard');
};

export default function LoginRoute() {
const actionData = useActionData();
const transition = useTransition();
const isSubmitting = transition.state === 'submitting';

return (

Email

{actionData?.errors?.email &&
{actionData.errors.email}
}

  <div>
    <label htmlFor="password">Password</label>
    <input id="password" name="password" type="password" />
    {actionData?.errors?.password && (
      <div>{actionData.errors.password}</div>
    )}
  </div>

  <div>
    <button type="submit" disabled={isSubmitting}>
      {`Login ${isSubmitting ? '...' : ''}`}
    </button>
  </div>
</Form>

);
}
```

Pirmais, kas šeit notiek, ir iekrāvēji funkcija, kas pārbauda, vai lietotājs jau ir pieteicies ar isLoggedIn funkciju un novirzīt viņu uz /dashboard maršruts, bet, ja tā nav, tas vienkārši atgriezīs { success: true } atbildi, tad tiek atveidota pieteikšanās lapa.

Portāls LoginRoute atveido veidlapu ar e-pasta un paroles ievades un iesniegšanas pogu, kā redzat, nav nekādu valsts mainīgie, ne arī onSubmit notikumu apstrādātājs mūsu komponentē, tas ir tāpēc, ka remiksā katrs maršruts var eksportēt darbība un kad veidlapa tiek nosūtīta ar POST metode tiks izsaukta darbība, kas apstrādās šo notikumu.

Kad veidlapa tiek nosūtīta darbība funkcija iegūs
FormData no Pieprasījums objekts const formData = await request.formData(), tad mēs konstruējam vērtības objekts ar e-pasta un paroles īpašībām. formData.get('email') meklēs pirmo atbilstošo lauku mūsu veidlapā ar name="e-pasts" īpašību un atdod tās vērtību. Mēs pārbaudām, vai akreditācijas dati ir pareizi, izmantojot verifyLogin funkciju, šeit varat izmantot jebkuru no savām iecienītākajām JS shēmas validācijas bibliotēku un veikt iegūt lai pārbaudītu, vai pieteikšanās dati ir pareizi, un, ja ir, mēs novirzīt lietotājam uz /dashboard maršruts, pretējā gadījumā mēs atgriežam json atbildi ar kļūdas objektu un HTTP statusa kods 400, un useActionData āķis atgriezīs šo kļūdu objektu, ja tāds ir, un mēs nosacīti atveidosim kļūdas ziņojumu, kā norādīts {actionData?.errors?.email &amp;&amp; <div>{actionData.errors.email}</div>}.

Portāls useTransition āķis stāsta mums visu par lapas pārejas stāvokli, ar isSubmitting mainīgais mēs pārbaudām, kad notiek iesniegšana, ja ir kāds, mēs atslēgt iesniegt pogu un parādīt Login.... nevis Pieteikšanās, tā vietā mēs varētu lietotājam parādīt arī iekraušanas rotatoru vai citu norādi.

Portāls json funkcija ir tikai saīsne, lai izveidotu application/json atbildes objekti. Portāls useLoaderData āķis atgriež no maršruta izanalizētos JSON datus. iekrāvēji, un useActionData atgriež maršrutu darbība analizētus datus.

SEO draudzīgs

Katrs maršruts var arī eksportēt meta funkcija, kas ir atbildīga par jūsu Html dokumenta meta tagu iestatīšanu, šādā veidā jūs varat iestatīt virsraksts un apraksts katram maršrutam un pievienojiet Open Graph vai citas nepieciešamās meta birkas.

export const meta = () => {
const title = 'My Awesome Page';
const description = 'Super laba lapa';

return {
charset: 'utf-8',
title,
description,
atslēgvārdi: 'Remix,Awesome',
'twitter:image': 'https://awesome-page.com/awesome.png',
'twitter:card': 'summarylargeimage',
'twitter:creator': '@awesome',
'twitter:site': '@awesome',
'twitter:title': title,
'twitter:description': description,
};
};

eksportēt noklusējuma funkciju AwesomeRoute() {
return

Awesome Route

;
}
```

Noderīgas saites

Mēs esam apskatījuši tikai aisberga virsotni par Remix, ir vēl daudz kas jāzina, tāpēc šeit ir dažas noderīgas saites:

  • Dokumentācija
  • Github
  • Piemēru mape
  • Youtube atskaņošanas saraksts
  • Discord serveris

Kopsavilkums

Remix ir lieliski tas, ka, kļūstot ar to labāks, jūs varēsiet labāk. tīmekļa vietne pamati, kā jūs esat redzējuši daudzi no šī raksta saites norāda uz Mozilla dokumenti, tas ir tas, ko nozīmē, ka Remix ir vērsts uz tīmekļa pamatiem, tas izmanto tīmekļa API, piemēram, atbildes un pieprasījuma objektu, lai nodrošinātu lietotājiem lielisku. UX turklāt joprojām varat izmantot visas ierastās React metodes un iecienītākās bibliotēkas.

Šajā rakstā mēs nerunājām par visām lieliskajām Remix sniegtajām funkcijām, piemēram. Iedalītie maršruti, Kļūdu robežas, Remix Stacks tomēr šis raksts sniegs jums labu priekšstatu par Remix filozofiju.

Saistītie raksti

Programmatūras izstrāde

Kiberdrošības dilemmas: Datu noplūde

Pirmssvētku steiga ir pilnā sparā. Meklējot dāvanas saviem mīļajiem, cilvēki arvien biežāk ir gatavi "šturmēt" interneta veikalus.

The Codest
Jakub Jakubowicz CTO un līdzdibinātājs
Programmatūras izstrāde

React plusi un mīnusi

Kāpēc ir vērts izmantot React? Kādas ir šīs JavaScript bibliotēkas priekšrocības? Lai uzzinātu atbildes, ieskatieties šajā rakstā un atklājiet reālās priekšrocības, ko sniedz React izmantošana.

The Codest
Cezary Goralski Software Engineer
Programmatūras izstrāde

React atslēgas, Jā! Jums tās ir nepieciešamas, bet kāpēc tieši?

Ar React masīva pārveidošana elementu sarakstā ir diezgan vienkārša, būtībā viss, kas jums jādara, ir kartēt šo masīvu un atgriezt pareizo elementu katram...

Przemysław Adamczyk
Programmatūras izstrāde

Īss ceļvedis par to, kā palaist konteinerus no testiem

Uzziniet, kā palaist konteineru formas testus ar Java saistītā rakstā, kurā mūsu vecākais Java programmētājs parāda visu burvību.

Bartlomiej Kuczyński

Abonējiet mūsu zināšanu bāzi un saņemiet jaunāko informāciju par IT nozares pieredzi.

    Par mums

    The Codest - starptautisks programmatūras izstrādes uzņēmums ar tehnoloģiju centriem Polijā.

    Apvienotā Karaliste - Galvenā mītne

    • 303B birojs, 182-184 High Street North E6 2JA
      Londona, Anglija

    Polija - Vietējie tehnoloģiju centri

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polija

    The Codest

    • Sākums
    • Par mums
    • Pakalpojumi
    • Case Studies
    • Zināt, kā
    • Karjera
    • Vārdnīca

    Pakalpojumi

    • Tā Konsultatīvais dienests
    • Programmatūras izstrāde
    • Backend izstrāde
    • Frontend izveide
    • Staff Augmentation
    • Backend izstrādātāji
    • Mākoņa inženieri
    • Datu inženieri
    • Citi
    • QA inženieri

    Resursi

    • Fakti un mīti par sadarbību ar ārējo programmatūras izstrādes partneri
    • No ASV uz Eiropu: Kāpēc Amerikas jaunuzņēmumi nolemj pārcelties uz Eiropu?
    • Tehnoloģiju ārzonas attīstības centru salīdzinājums: Tech Offshore Eiropa (Polija), ASEAN (Filipīnas), Eirāzija (Turcija)
    • Kādi ir galvenie CTO un CIO izaicinājumi?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autortiesības © 2026 The Codest. Visas tiesības aizsargātas.

    lvLatvian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lt_LTLithuanian is_ISIcelandic lvLatvian