window.pipedriveLeadboosterConfig = { base: leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on juba olemas') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Remix raamistiku kasutamise alustamine - The Codest
The Codest
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Tööstusharud
    • Fintech & pangandus
    • E-commerce
    • Adtech
    • Healthtech
    • Tootmine
    • Logistika
    • Autotööstus
    • IOT
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
Tagasi nool TAGASI
2022-04-12
Tarkvaraarendus

Alustamine Remix raamistikuga

The Codest

Reda Salmi

React Arendaja

Remix on täisfunktsionaalne veebiraamistik, mis keskendub veebi põhialustele ja kaasaegsele UX-ile.

Jah, see on veel üks JS raamistik, kuid lihtsalt jääda natuke kauem, sest see raamistik on tehtud Michael Jackson ja Ryan Florence nutikad poisid taga React marsruuter. Loodan, et sain teie tähelepanu, nii et vaatame, mis on hea, et Remix raamistik.

koomiline JS raamistik koos ajuga

Tehnilised üksikasjad

Remix on serveripoolne raamistik, mis on ehitatud peale Web Fetch API ja React marsruuter, igal marsruudil on remixis kolm peamist ekspordikohta a laadur, an tegevus ja vaikimisi komponent eksport. Veebileht laadur funktsiooni kutsutakse serveris enne renderdamist, et anda andmeid marsruudile, siis on funktsiooni tegevus funktsioon vastutab andmete mutatsiooni eest, on vaikimisi eksporditav komponent see, mida sellel marsruudil renderdatakse. Veebileht laadur ja tegevus funktsioone käivitatakse ainult serveri poolel ja need peavad tagastama Vastus objektile, siis vaikimisi eksport toimub nii serveri- kui ka kliendipoolel.

Alustamine

Uue Remixi initsialiseerimiseks projekt:

npx create-remix@latest

TÄHELEPANU: vali "Lihtsalt põhitõed" ja seejärel "Remix App Server", kui seda küsitakse.

cd [mis iganes nime te projektile andsite]
npm run dev
```

Avaneb http://localhost:3000. create-remix käsk annab teile järgmise struktuuriga stardimalli:

remix kausta arhitektuur - scr
  • The app kaust sisaldab kõiki teie rakenduse marsruute ja kood.
  • The app/entry.client.jsx on esimene osa koodist, mis käivitub brauseris ja mida kasutatakse selleks, et saavutada hüdraat React komponendid.
  • The app/entry.server.jsx on esimene osa koodist, mis käivitub, kui päring jõuab serverisse, see fail muudab meie React rakenduse stringiks/vooluks ja saadab selle meie vastuseks kliendile.
  • The app/root.jsx on koht, kuhu läheb juurkomponent.
  • The app/routes/ on koht, kuhu kõik teie marsruudimoodulid lähevad, remix kasutab failisüsteemil põhinevat marsruutimist.
  • The avalik kausta lähevad teie staatilised varad (pildid/fonid jne).
  • The remix.config.js on koht, kus saab määrata remix-konfiguratsiooni.

Vähem juttu, näita mulle koodi

Kontrollime login.jsx marsruudi näide Remixi rakenduse sees:

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>

);
}
```

Esimene asi, mis siin toimub, on laadur funktsioon, mis kontrollib, kas kasutaja on juba sisse logitud koos isLoggedIn funktsioon ja ümbersuunata teda /dashboard marsruuti, kui mitte, siis tagastab ta lihtsalt { success: true } vastus, siis kuvatakse sisselogimisleht.

The LoginRoute renderdab vormi, millel on e-posti ja salasõna sisendid ning nupp, nagu näete, ei ole ühtegi riik muutujad ega onSubmit sündmuse käitaja meie komponendis, siis sellepärast, et remixis saab iga marsruut eksportida tegevus ja kui vorm esitatakse koos POST meetodi toimingut kutsutakse välja ja käsitletakse seda sündmust.

Kui vorm esitatakse tegevus funktsioon saab
FormData alates Taotlus objekt const formData = await request.formData(), siis me konstrueerime väärtused objekt koos e-posti ja parooli omadustega, on formData.get('email') otsib esimest sobivat välja meie vormi sees, millel on tähis name="email" omadus ja tagastab selle väärtuse. Me kontrollime, kas volikirjaandmed on õiged koos verifyLogin funktsiooni, siin võiksite kasutada mõnda oma lemmik JS skeemi valideerimise raamatukogu ja teha Tooge oma kohandatud taustsüsteemi, et kontrollida, kas sisselogimisandmed on õiged, kui jah, siis me ümbersuunata kasutajale, et /dashboard marsruudi, vastasel juhul tagastame json vastus koos vigade objekti ja HTTP staatuse kood 400... useActionData konks tagastab selle vigade objekti, kui see on olemas ja me tinglikult renderime veateate nagu in {actionData?.errors?.email &amp;&amp; <div>{actionData.errors.email}</div>}.

The useTransition konks ütleb meile kõike lehekülje ülemineku seisundi kohta, kusjuures isSubmitting muutuja kontrollime, millal toimub esitamine, kui on olemas me keelata nuppu submit ja näita Login.... selle asemel, et Logi sisse, võiksime kasutajale näidata ka laadimiskeerajat või muud märki.

The json funktsioon on lihtsalt otsetee, et luua application/json vastusobjektid. Veebileht useLoaderData konks tagastab JSON-parsitud andmed teie marsruudilt laadur... useActionData tagastab marsruudi tegevus analüüsitud andmed.

SEO-sõbralik

Iga marsruut võib eksportida ka meta funktsioon, mis vastutab Html-dokumendi metatagide seadmise eest, nii saate määrata pealkiri ja kirjeldus iga marsruudi jaoks ja lisage kõik soovitud Open Graph või muud metatähed.

eksport const meta = () => {
const title = 'Minu vinge lehekülg';
const description = 'Super vinge lehekülg';

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

export default function AwesomeRoute() {
return

Awesome Route

;
}
```

Kasulikud lingid

Me oleme just käsitlenud jäämäe tippu Remixi kohta, seal on veel nii palju teada, siin on mõned kasulikud lingid:

  • Dokumentatsioon
  • Github
  • Näidete kaust
  • Youtube'i esitusloend
  • Discord server

Kokkuvõte

Mis on suurepärane Remix on saada paremaks sellega saad paremini veebi põhialuste, nagu olete näinud palju selle artikli lingid viitavad Mozilla dokumendid, seda tähendabki see, et Remix on keskendunud veebi põhialustele, see kasutab veebi APIsid nagu Response ja Request objekt, et pakkuda kasutajatele suurepärast UX-i pluss saate endiselt kasutada kõiki oma React tavapärast tehnikat ja lemmikraamatukogusid.

Me ei rääkinud selles artiklis kõigist Remixi poolt pakutavatest suurtest funktsioonidest nagu Sisestatud marsruudid, Veapiirid, Remix virnad kuid see artikkel peaks siiski andma teile hea ülevaate Remixi filosoofiast.

Seotud artiklid

E-commerce

Küberturbe dilemmad: Andmete lekkimine

Jõulueelne kiire on täies hoos. Oma lähedastele kingitusi otsides on inimesed üha enam valmis "tormama" veebipoodidesse.

The Codest
Jakub Jakubowicz CTO & kaasasutajad
Tarkvaraarendus

React plussid ja miinused

Miks tasub kasutada React? Millised on selle JavaScript raamatukogu eelised? Vastuste leidmiseks sukelduge sellesse artiklisse ja avastage React kasutamise tegelikud eelised.

The Codest
Cezary Goralski Software Engineer
Tarkvaraarendus

React Võtmed, jah! Sa vajad neid, aga miks täpselt?

React-ga massiivi muutmine elementide loeteluks on üsna lihtne, põhimõtteliselt on vaja vaid seda massiivi kaardistada ja tagastada iga elemendi jaoks sobiv element...

Przemysław Adamczyk
Tarkvaraarendus

Kiire juhend, kuidas testidest konteinereid käivitada

Õppige, kuidas käivitada konteinerite vormi teste meie Java-ga seotud artiklis, kus meie vanem Java-arendaja näitab kogu maagiat.

Bartlomiej Kuczyński

Tellige meie teadmistebaas ja jääge kursis IT-sektori eksperditeadmistega.

    Meie kohta

    The Codest - rahvusvaheline tarkvaraarendusettevõte, mille tehnoloogiakeskused asuvad Poolas.

    Ühendkuningriik - peakorter

    • Büroo 303B, 182-184 High Street North E6 2JA
      London, Inglismaa

    Poola - kohalikud tehnoloogiakeskused

    • Fabryczna büroopark, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varssavi, Poola

      The Codest

    • Kodu
    • Meie kohta
    • Teenused
    • Case Studies
    • Tea kuidas
    • Karjäärivõimalused
    • Sõnastik

      Teenused

    • See nõuandev
    • Tarkvaraarendus
    • Backend arendus
    • Frontend arendus
    • Staff Augmentation
    • Backend arendajad
    • Pilveinsenerid
    • Andmeinsenerid
    • Muud
    • QA insenerid

      Ressursid

    • Faktid ja müüdid koostööst välise tarkvaraarenduspartneriga
    • USAst Euroopasse: Miks otsustavad Ameerika idufirmad Euroopasse ümber asuda?
    • Tech Offshore arenduskeskuste võrdlus: Euroopa (Poola), ASEAN (Filipiinid), Euraasia (Türgi).
    • Millised on CTO ja CIOde peamised väljakutsed?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2025 by The Codest. Kõik õigused kaitstud.

    etEstonian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch elGreek etEstonian