HTML + VUE.JS + FireBase > 소프트웨어

본문 바로가기

소프트웨어

마이홈
쪽지
맞팔친구
팔로워
팔로잉
스크랩
TOP
DOWN

[vue.js] HTML + VUE.JS + FireBase

profile_image
관리자
2024-10-10 14:51 40 0
  • - 첨부파일 : 20241010153503.png (17.1K) - 다운로드

본문

1. NPM 설치


1) npm init vue@latest


Project name: 프로젝트 이름 입력Add TypeScript?: TypeScript를 사용할지 여부Add JSX Support?: JSX 지원 여부Add Vue Router for Single Page Application development?: Vue Router 추가 여부Add Pinia for state management?: Pinia 상태 관리 도구 추가 여부Add Vitest for Unit Testing?: Vitest 테스트 도구 추가 여부Add Cypress for End-to-End Testing?: Cypress E2E 테스트 추가 여부Add ESLint for code quality?: ESLint 코드 품질 검사 도구 추가 여부 



TypeScript는 JavaScript의 상위 집합으로, 정적 타입을 지원하는 프로그래밍 언어입니다. 즉, JavaScript에 타입 시스템을 추가한 언어라고 할 수 있습니다. TypeScript 코드는 나중에 JavaScript로 컴파일되며, 모든 최신 브라우저나 JavaScript 환경에서 실행됩니다.

JSX(JavaScript XML)는 JavaScript 문법의 확장으로, JavaScript 코드 안에 HTML과 비슷한 구문을 작성할 수 있게 해줍니다. 원래는 React.js에서 도입된 개념이지만, Vue.js에서도 지원될 수 있습니다

Vue Router는 Vue.js 애플리케이션에서 페이지 간 이동을 처리하는 도구입니다. SPA에서 여러 페이지를 마치 전통적인 여러 HTML 파일처럼 다룰 수 있도록 해줍니다. 그러나 실제로는 전체 애플리케이션이 하나의 페이지에서 실행되고, 페이지 간 이동은 클라이언트 측에서 동적으로 처리됩니다. 


Add Pinia for state management? 는 프로젝트에서 Pinia를 사용할지 묻는 질문입니다. Pinia는 Vue.js 애플리케이션에서 상태 관리를 위한 공식 라이브러리로, Vuex의 후속 라이브러리로 개발되었습니다. Pinia는 Vue 3와 함께 사용되며, Vuex보다 가볍고 더 간결한 API를 제공합니다. 


유닛 테스트는 애플리케이션의 개별적인 작은 단위(보통 함수나 컴포넌트)를 독립적으로 테스트하는 방법입니다. 유닛 테스트를 통해 코드가 의도한 대로 작동하는지 자동으로 검증할 수 있습니다. 


npx vitest



E2E 테스트는 애플리케이션의 모든 구성 요소가 함께 잘 동작하는지 확인하는 테스트입니다. 예를 들어, 사용자 로그인, 데이터 입력, 페이지 간 이동 등 애플리케이션의 주요 흐름을 테스트합니다. 이는 사용자가 애플리케이션을 실제로 사용하는 것처럼 테스트하기 때문에 기능의 통합 테스트라고도 할 수 있습니다. 

Cypress 사용 예시 
describe('My First Test', () => {
  it('Visits the app root url', () => {
    cy.visit('/')
    cy.contains('h1', 'Welcome to Your Vue.js App')
  })
})
 
ESLint는 JavaScript 코드의 문법 오류코딩 스타일 문제를 찾아내는 도구입니다. 팀에서 일관된 코드 스타일을 유지하고, 잠재적인 버그나 성능 문제를 사전에 예방하는 데 유용합니다. Vue.js 프로젝트에서는 Vue 규칙을 포함하여 Vue 컴포넌트에서도 코드 검사를 수행할 수 있습니다. 

Prettier는 JavaScript, TypeScript, HTML, CSS, Vue.js 등을 포함한 다양한 언어에서 코드를 자동으로 일관된 스타일로 정리해 주는 포맷터입니다. 코딩 스타일(들여쓰기, 따옴표 사용, 세미콜론 여부 등)에 대한 논쟁을 피하고, 개발자가 코드의 동작에만 집중할 수 있도록 돕습니다. 


function add(a, b) {

  return a + b;

}


2) npm install 


3) npm run format 


4) npm run dev


2. Firebase & Firebase Hosting


npm install -g firebase-tools

firebase login

firebase init


3. Vue.js 설정 


1) npm init -y 

2) npm install vue


4. 배포 준비 및 배포 


1) firebase deploy

2)

3)

4)

firebase.json
 

{

  "firestore": {

    "rules": "firestore.rules",

    "indexes": "firestore.indexes.json"

  },

  "hosting": {

    "site": "centreor-com",

    "public": "public",

    "ignore": [

      "firebase.json",

      "**/.*",

      "**/node_modules/**"

    ],

    "rewrites": [

      {

        "source": "**",

        "destination": "/index.html"

      }

    ]

  }

}


 


















댓글목록0

등록된 댓글이 없습니다.

댓글쓰기

적용하기
자동등록방지 숫자를 순서대로 입력하세요.
게시판 전체검색