vite tailwindcss naive-ui 2

131 阅读1分钟

Axios

Axios是基于Promise的HTTP库,可用于浏览器和Node.js环境。

$ npm i -D axios
$ npm view axios version
1.3.2

qs

qs是一个增强安全性的查询字符串解析和序列化字符串的库。

$ npm i -D qs
$ npm view qs version
6.11.0

Lodash-es

Lodash是一个一致性、模块化、高性能的JS实用工具库,默认采用CommonJS。

lodash通过降低array、number、object、string等的使用难度从而让JS变得更加简单。

lodash-es是lodash的ES Module版本。

$ npm i -D lodash-es
$ npm view lodash-es version
4.17.21

VueUse

Vue3支持组合式API(Composition API),可使用来封装和复用有状态逻辑的函数。组合式API约定使用驼峰命名法,以use作为开头。

VueUse是为Vue2和3提供的一套Vue Composition API组合式API的工具集,目的是将原本不支持响应式的JS API转变为支持响应式。该工具函数库支持更好的逻辑分离,有助于快速实现常见功能。

$ npm i -D @vueuse/core
$ npm view @vueuse/core version
9.12.0

Pinia

Pinia是一个全新的Vue状态管理库,是Vuex的代替者。

优点

  • 方便追踪与调试state
  • 支持Composition API来定义store
  • 支持HMR
  • 支持Plugin扩展

安装

$ npm i -D pinia
$ npm view pinia version
2.0.30

创建仓库

$ vim src/store/index.ts
import { createPinia } from 'pinia';
import type {App} from 'vue'

const store = createPinia()
export function setupStore(app:App<Element>) {
  app.use(store)
}
export {store}

总线注册

$ vim src/main.ts
import { createApp } from 'vue'
import App from './App.vue'
import { setupStore } from '@/store'

async function bootstrap(){
  const app = createApp(App)

  setupStore(app)

  app.mount('#app', true)
}

void bootstrap()

pinia-plugin-persist

常规store存储的数据刷新时会被重置,某些特定场景需要实现对特定数据的状态进行保持,可使用pinia-plugin-persist插件。

$ npm i -D pinia-plugin-persist
$ npm view pinia-plugin-persist version

注册插件

$ vim src/store/index.ts
import type {App} from 'vue'
import { createPinia } from 'pinia';

import piniaPersist from 'pinia-plugin-persist'

const store = createPinia()
store.use(piniaPersist)

export function setupStore(app:App<Element>) {
  app.use(store)
}
export {store}

为TS编译器配置

$ vim tsconfig.json
{
  "compilerOptions": {
    "types": [
      "pinia-plugin-persist"
    ]
  },
}