溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue3+vite2+ts4搭建項目環境規范的方法

發布時間:2022-04-25 11:03:27 來源:億速云 閱讀:334 作者:zzz 欄目:編程語言

Vue3 + Vite2 + TS4 搭建項目環境規范的方法

目錄

  1. 引言
  2. 項目初始化
  3. 配置 TypeScript
  4. 配置 ESLint 和 Prettier
  5. 配置 Vue Router
  6. 配置 Vuex
  7. 配置 Axios
  8. 配置環境變量
  9. 配置樣式
  10. 配置單元測試
  11. 配置 Git Hooks
  12. 總結

引言

在現代前端開發中,Vue3 已經成為了一個非常流行的框架,而 Vite2 新一代的構建工具,以其極快的啟動速度和熱更新能力,迅速贏得了開發者的青睞。TypeScript 作為 JavaScript 的超集,提供了強大的類型系統,使得代碼更加健壯和可維護。本文將詳細介紹如何使用 Vue3、Vite2 和 TypeScript4 搭建一個規范的前端項目環境。

項目初始化

安裝 Node.js 和 npm

在開始之前,確保你已經安裝了 Node.js 和 npm。你可以通過以下命令檢查是否已經安裝:

node -v
npm -v

如果沒有安裝,可以從 Node.js 官網 下載并安裝。

使用 Vite 創建項目

Vite 提供了一個非常簡單的命令行工具來創建項目。你可以通過以下命令創建一個新的 Vue3 項目:

npm create vite@latest my-vue-app --template vue-ts

這個命令會創建一個名為 my-vue-app 的項目,并使用 Vue3 和 TypeScript 模板。

項目結構介紹

創建項目后,你會看到如下的項目結構:

my-vue-app/
├── public/
├── src/
│   ├── assets/
│   ├── components/
│   ├── App.vue
│   ├── main.ts
│   └── vite-env.d.ts
├── index.html
├── package.json
├── tsconfig.json
└── vite.config.ts
  • public/:存放靜態資源文件。
  • src/:項目的源代碼目錄。
  • assets/:存放圖片、字體等資源文件。
  • components/:存放 Vue 組件。
  • App.vue:根組件。
  • main.ts:項目的入口文件。
  • vite-env.d.ts:Vite 環境變量類型聲明文件。
  • index.html:項目的入口 HTML 文件。
  • package.json:項目的依賴和腳本配置。
  • tsconfig.json:TypeScript 配置文件。
  • vite.config.ts:Vite 配置文件。

配置 TypeScript

安裝 TypeScript

在創建項目時,Vite 已經自動安裝了 TypeScript。如果你需要手動安裝,可以使用以下命令:

npm install typescript --save-dev

配置 tsconfig.json

tsconfig.json 是 TypeScript 的配置文件,用于指定編譯選項。Vite 已經為我們生成了一個默認的配置文件,你可以根據需要進行修改。以下是一個常見的配置示例:

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "moduleResolution": "node",
    "strict": true,
    "jsx": "preserve",
    "sourceMap": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "lib": ["esnext", "dom"],
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
  "exclude": ["node_modules"]
}

類型聲明文件

src/vite-env.d.ts 文件中,Vite 已經為我們生成了環境變量的類型聲明。你可以根據需要添加其他類型聲明。例如:

/// <reference types="vite/client" />

declare module '*.vue' {
  import type { DefineComponent } from 'vue'
  const component: DefineComponent<{}, {}, any>
  export default component
}

配置 ESLint 和 Prettier

安裝 ESLint 和 Prettier

ESLint 是一個用于檢查和修復 JavaScript 代碼的工具,而 Prettier 是一個代碼格式化工具。你可以通過以下命令安裝它們:

npm install eslint prettier eslint-plugin-vue eslint-config-prettier eslint-plugin-prettier --save-dev

配置 ESLint

在項目根目錄下創建一個 .eslintrc.js 文件,并添加以下配置:

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    'plugin:vue/vue3-essential',
    'eslint:recommended',
    '@vue/typescript/recommended',
    'plugin:prettier/recommended',
  ],
  parserOptions: {
    ecmaVersion: 2020,
  },
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'prettier/prettier': 'error',
  },
}

配置 Prettier

在項目根目錄下創建一個 .prettierrc.js 文件,并添加以下配置:

module.exports = {
  semi: true,
  singleQuote: true,
  printWidth: 80,
  trailingComma: 'all',
  arrowParens: 'always',
}

集成 ESLint 和 Prettier

為了確保 ESLint 和 Prettier 能夠協同工作,我們需要在 .eslintrc.js 中配置 plugin:prettier/recommended。這樣,ESLint 會自動使用 Prettier 的規則來格式化代碼。

配置 Vue Router

安裝 Vue Router

Vue Router 是 Vue.js 的官方路由管理器。你可以通過以下命令安裝它:

npm install vue-router@4

配置路由

src 目錄下創建一個 router 文件夾,并在其中創建一個 index.ts 文件。然后,添加以下代碼:

import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'

const routes: Array<RouteRecordRaw> = [
  {
    path: '/',
    name: 'Home',
    component: () => import('@/views/Home.vue'),
  },
  {
    path: '/about',
    name: 'About',
    component: () => import('@/views/About.vue'),
  },
]

const router = createRouter({
  history: createWebHistory(),
  routes,
})

export default router

然后,在 main.ts 中引入并使用路由:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

createApp(App).use(router).mount('#app')

配置 Vuex

安裝 Vuex

Vuex 是 Vue.js 的官方狀態管理庫。你可以通過以下命令安裝它:

npm install vuex@next

配置 Vuex

src 目錄下創建一個 store 文件夾,并在其中創建一個 index.ts 文件。然后,添加以下代碼:

import { createStore } from 'vuex'

export default createStore({
  state: {
    count: 0,
  },
  mutations: {
    increment(state) {
      state.count++
    },
  },
  actions: {
    increment({ commit }) {
      commit('increment')
    },
  },
  modules: {},
})

然后,在 main.ts 中引入并使用 Vuex:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

createApp(App).use(router).use(store).mount('#app')

配置 Axios

安裝 Axios

Axios 是一個基于 Promise 的 HTTP 客戶端,用于瀏覽器和 Node.js。你可以通過以下命令安裝它:

npm install axios

封裝 Axios

src 目錄下創建一個 utils 文件夾,并在其中創建一個 axios.ts 文件。然后,添加以下代碼:

import axios from 'axios'

const instance = axios.create({
  baseURL: process.env.VITE_API_BASE_URL,
  timeout: 10000,
})

instance.interceptors.request.use(
  (config) => {
    // 在發送請求之前做些什么
    return config
  },
  (error) => {
    // 對請求錯誤做些什么
    return Promise.reject(error)
  }
)

instance.interceptors.response.use(
  (response) => {
    // 對響應數據做些什么
    return response.data
  },
  (error) => {
    // 對響應錯誤做些什么
    return Promise.reject(error)
  }
)

export default instance

然后,你可以在項目中通過 import axios from '@/utils/axios' 來使用封裝好的 Axios 實例。

配置環境變量

使用 .env 文件

Vite 支持使用 .env 文件來管理環境變量。你可以在項目根目錄下創建 .env 文件,并添加以下內容:

VITE_API_BASE_URL=https://api.example.com

配置環境變量

vite.config.ts 中,你可以通過 import.meta.env 來訪問環境變量。例如:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  define: {
    'process.env': import.meta.env,
  },
})

配置樣式

安裝 Sass

Sass 是一個 CSS 預處理器,提供了變量、嵌套、混合等功能。你可以通過以下命令安裝它:

npm install sass --save-dev

配置全局樣式

src/assets 目錄下創建一個 styles 文件夾,并在其中創建一個 global.scss 文件。然后,你可以在 main.ts 中引入這個全局樣式文件:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import '@/assets/styles/global.scss'

createApp(App).use(router).use(store).mount('#app')

配置單元測試

安裝 Jest 和 Vue Test Utils

Jest 是一個 JavaScript 測試框架,而 Vue Test Utils 是 Vue.js 的官方測試工具庫。你可以通過以下命令安裝它們:

npm install jest @vue/test-utils vue-jest ts-jest @types/jest --save-dev

配置 Jest

在項目根目錄下創建一個 jest.config.js 文件,并添加以下配置:

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'jsdom',
  moduleFileExtensions: ['js', 'ts', 'json', 'vue'],
  transform: {
    '^.+\\.ts$': 'ts-jest',
    '^.+\\.vue$': 'vue-jest',
  },
  moduleNameMapper: {
    '^@/(.*)$': '<rootDir>/src/$1',
  },
  testMatch: ['**/tests/unit/**/*.spec.ts'],
}

編寫單元測試

src/tests/unit 目錄下創建一個 example.spec.ts 文件,并添加以下代碼:

import { mount } from '@vue/test-utils'
import HelloWorld from '@/components/HelloWorld.vue'

describe('HelloWorld.vue', () => {
  it('renders props.msg when passed', () => {
    const msg = 'Hello, World!'
    const wrapper = mount(HelloWorld, {
      props: { msg },
    })
    expect(wrapper.text()).toMatch(msg)
  })
})

配置 Git Hooks

安裝 Husky

Husky 是一個 Git Hooks 工具,可以在 Git 操作時自動執行一些腳本。你可以通過以下命令安裝它:

npm install husky --save-dev

配置 Husky

package.json 中添加以下配置:

{
  "scripts": {
    "prepare": "husky install"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{js,ts,vue}": ["eslint --fix", "prettier --write"]
  }
}

然后,運行以下命令初始化 Husky:

npm run prepare

總結

通過本文的介紹,你已經學會了如何使用 Vue3、Vite2 和 TypeScript4 搭建一個規范的前端項目環境。我們從項目初始化開始,逐步配置了 TypeScript、ESLint、Prettier、Vue Router、Vuex、Axios、環境變量、樣式、單元測試和 Git Hooks。希望這些內容能夠幫助你更好地管理和開發 Vue3 項目。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女