Nuxt/Vue 마이크로 서비스 구현
7149 단어 microservicesvuetypescriptnuxt
프런트 엔드 마이크로서비스 아키텍처
Farhad Mehryari ・ 4월 15일 ・ 2분 읽기
#microservices
#vue
#nuxt
#javascript
이 게시물에서는 세 가지 주요 부분으로 구성된 쇼핑 웹사이트를 고려하고 이름을 myshop.com으로 지정합니다.
계정 서비스는 다음 경로를 가진 myshop.com/account에 마운트됩니다.
Shop 서비스는 myshop.com/shop에 다음과 같은 경로로 탑재됩니다.
프로필 서비스는 다음 경로가 있는 myshop.com/profile에 마운트됩니다.
이전에 논의한 것처럼 각 서비스는 Nuxt 프로젝트가 될 것입니다. 첫 번째 단계로 3개의 Nuxt 프로젝트를 생성합니다.
다음 디렉토리에서 만들었습니다.
다음 단계에서는 원하는 Nuxt 프로젝트로 각 요청을 처리할 라우터가 필요합니다.
이 라우터를 개발하여 npm에 게시했습니다.
그것을 설치하고 그것을 사용하는 방법을 보자.
새 프로젝트 만들기
geshniz-router 패키지 설치
index.ts 파일을 생성하고 아래 코드를 추가합니다.
import {NuxtService, App} from 'geshniz-router'
const app = new App(4000, '0.0.0.0')
const account = new NuxtService({
evn: 'dev',
name: 'Account',
mountPath: '/account',
rootPath: '/home/farhad/projects/nuxt-account/'
})
const shop = new NuxtService({
env: 'dev',
name: 'Shop',
mountPath: '/shop',
rootPath: '/home/farhad/projects/nuxt-shop'
})
const profile = new NuxtService({
env: 'start',
name: 'Profile',
mountPath: '/profile',
rootPath: '/home/farhad/projects/nuxt-profile'
})
app.registerService(account)
app.registerService(shop)
app.registerService(profile)
그런 다음 실행
ts-node index.ts
또는 tsc로 컴파일하고 node.js로 실행하십시오.
이제 127.0.0.1:4000/profile/orders를 확인하면 nuxt-profile 프로젝트 및 기타 요청에서 응답이 옵니다.
App 클래스와 NuxtService 클래스에 대해 설명하겠습니다.
App 클래스 인스턴스는 웹 서버 생성을 위한 두 개의 매개 변수인 Ports와 hosts를 각각 허용하며 경로에 NuxtService 인스턴스 클래스를 등록하는 하나의 메서드가 있습니다.
new NuxtService({
env: '', // dev or start
name: 'Profile', // only a name
mountPath: '/profile',
rootPath: '/home/farhad/projects/nuxt-profile'
})
하나의 서비스에서만 작업하는 경우 env 속성을 'start'로 설정하여 다른 서비스를 프로덕션 모드로 설정할 수 있습니다.
또한 nuxt 프로젝트는 메인 프로젝트의 디렉토리를 벗어날 수 있습니다.
새로운 Nuxt 서비스 인스턴스를 App 클래스에 등록하면 mountPath 경로에 대한 모든 수신 요청이 이 서비스에 의해 처리됩니다.
타브리즈의 아름다운 공원에서 표지 사진을 직접 찍었습니다.
Reference
이 문제에 관하여(Nuxt/Vue 마이크로 서비스 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ifarhad/implement-nuxt-vue-micro-service-1oo1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)