By Piotr Sikora

  • javascript

Ten artykuł będzie wprowadzeniem jak stworzyć projekt oparty na TypeScript używając Vue.js i Vuex. Zaczniemy od tworzenia aplikacji używając VueCLI.

Plan naszej aplikacji Vue / Vue router / Vuex

Napiszemy prostą aplikację CRUD, która będzie prosta:

  • Pobieranie listy postów (ładowanie do store)

  • Tworzenie postu

  • Edycja postu

  • Usuwanie postu

Stwórz szkielet aplikacji Vue

Najpierw musisz zainstalować VueCLI. Możesz to zrobić używając NPM:

npm install -g @vue/cli

Lub używając Yarn:

yarn global add @vue/cli

Tworzenie aplikacji Vue używając VueCLI

Następnie tworzysz projekt używając VueCLI. Aby uruchomić tę komendę w linii poleceń:

vue create <nameOfApp>

W moim przypadku to będzie ts-vue więc uruchamiam

vue create ts-vue

Vue Vue Router Vuex używając TypeScript krok 1

Zacznij definiować swoją aplikację używając "Manually select features":

Vue Vue Router Vuex używając TypeScript krok 2

Z menu musisz wybrać opcje widoczne na ekranie:

Vue Vue Router Vuex używając TypeScript krok 3

  • Babel

  • TypeScript

  • Router

  • Vuex

  • CSS Pre-processors (będzie wybrane w następnych krokach)

  • Linter / Formatter (preset będzie wybrany w następnych krokach)

  • Unit Testing (silnik będzie wybrany w następnych krokach)

  • E2E Testing (silnik będzie wybrany w następnych krokach)

Następnie zostaniesz zapytany o komponenty class-style (pliki .vue podzielone na sekcje template, script, style).

VueCLI pytanie o składnię komponentów class-style

Następnie wybierz swój ulubiony preprocesor. Użyłem Stylus (dlaczego? Opisałem to w moim artykule)

Vue Vue Router Vuex używając TypeScript krok 4

Następnie zostaniesz zapytany o opcje linterów. Użyj obu (Lint on save i Lint and fix on commit)

Vue Vue Router Vuex używając TypeScript krok 5

Ta opcja doda ten kod do pliku package.json

  "gitHooks": {
    "pre-commit": "lint-staged"
  },

To dodaje opcję, która będzie uruchamiana przed każdym commitem GIT. Przed każdym commitem będzie uruchamiana operacja lintowania.

Wybierz silnik testowy zarówno dla Unit testing jak i E2E testing:

Vue Vue Router Vuex używając TypeScript krok 6

Vue Vue Router Vuex używając TypeScript krok 7

Następnie zobaczysz proces instalacji:

Vue Vue Router Vuex używając TypeScript krok 8

Vue Vue Router Vuex używając TypeScript krok 9

VueCLI po utworzeniu aplikacji

Struktura projektu Vue

Projekt Vue zaraz po inicjalizacji z VueCLI w VisualStudio Code. Jak widać projekt jest podzielony na:

  • src (źródło twojej aplikacji)

    • assets

    • components (tutaj będziesz przechowywać komponenty aplikacji)

    • views (tutaj będziesz przechowywać strony aplikacji)

  • tests (testy twojej aplikacji)

  • public (folder publiczny, do którego aplikacja będzie kompilowana)

Gdy przeanalizujesz strukturę folderu src i spojrzysz na wzorzec Atomic Design, możesz powiedzieć, że w components będą przechowywane wszystkie atomy / molekuły / organizmy, a w views strony. Wygląda to jak uproszczone podejście do Atomic Design.

Dodawanie PUG do projektu Vue.js dla uproszczenia szablonów

Lubię minimalizm kodu dlatego lubię PUG (wcześniej znany jako JADE). PUG to preprocesor HTML. Aby włączyć go w plikach .VUE, musimy postępować zgodnie z instrukcjami dodanymi na oficjalnej stronie Vue.js: https://vue-loader.vuejs.org/guide/pre-processors.html#pug

npm install -D pug pug-plain-loader

Możesz teraz używać PUG w swoich szablonach tak:

Uruchamianie projektu

Teraz uruchommy projekt!

npm run serve

I voila: Teraz musimy uruchomić przeglądarkę z URL http://localhost:8080

(oczywiście jeśli nie uruchomiliśmy żadnej innej aplikacji na tym porcie. Jeśli tak - CLI weźmie następny wolny port np. 8081, 8082 itd.)

Categories

Recent Posts

About Me

Piotr Sikora - Process Automation | AI | n8n | Python | JavaScript

Piotr Sikora

Process Automation Specialist

I implement automation that saves time and money, streamlines operations, and increases the predictability of results. Specializing in process automation, AI implementation, and workflow optimization using n8n, Python, and JavaScript.

n8n Workflows

n8n workflow automation templates

Explore my workflow templates on n8n. Ready-to-use automations for blog management, data collection, and AI-powered content processing.

3Workflow Templates

• Auto-Categorize Blog Posts with AI

• Collect LinkedIn Profiles

• Export WordPress Posts for SEO

Podobne artykuły

Odkryj więcej powiązanych treści

Opanuj Destrukturyzację w JavaScript dla Czystszego Kodu

Opanuj Destrukturyzację w JavaScript dla Czystszego Kodu

Wyobraźmy sobie, że mamy obiekt, do którego chcemy uzyskać dostęp.

ScreenshotMaker z Vue.js: Pierwszy rzut oka i HTTP

Obecnie wszyscy są skupieni na najbardziej modnych frameworkach JS

Przewodnik po Operatorze Warunkowym (Ternary) w JavaScript

Przewodnik po Operatorze Warunkowym (Ternary) w JavaScript

Wyobraźmy sobie, że moglibyśmy zoptymalizować / zminimalizować instrukcję if. Co moglibyśmy zrobić?