npm init vue
用你喜欢的包管理器安装 pinia:
yarn add pinia
npm install pinia
TIP
如果你的应用使用的 Vue 版本低于 2.7,你还需要安装组合式 API 包:@vue/composition-api。如果你使用的是 Nuxt,你应该参考这篇指南。
如果你正在使用 Vue CLI,你可以试试这个非官方插件。
创建一个 pinia 实例 (根 store) 并将其传递给应用:
在 main.js 配置
import {
createApp } from 'vue'
// 1.导入createPinia
import {
createPinia } from 'pinia'
import App from './App.vue'
// 2.执行方法得到实例
const pinia = createPinia()
const app = createApp(App)
// 3.将 pinia实例加入到 app 应用内
app.use(pinia)
app.mount('#app')
1.在 src文件下创建一个stores 文件在创建一个 counter.js
注意 :数据需要使用 storeToRefs 方法直接解构就能用啦 ~
npm init vue
yarn add
yarn dev
apis
composables
direactives
styles
utils
git init
git add .
git commit -m 'init'
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
}
}
发生实际目录转化的是vite.config.js 中
export default defineConfig({
plugins: [
vue(),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
}
})
# 选择一个你喜欢的包管理器
# NPM
$ npm install element-plus --save
# Yarn
$ yarn add element-plus
# pnpm
$ pnpm install element-plus
第二步 按需引入
npm install -D unplugin-vue-components unplugin-auto-import
或者 yarn
yarn add -D unplugin-vue-components unplugin-auto-import
第三步 在 vite.config.ts
// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import {
ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
// ...
plugins: [
// ...
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
})
第四步.试一试看看好用不
npm i sass -D
yarn add sass -D
第二步 创建自己要使用的主色调 在styles 下新建 elment 下新建index.scss
'element-plus/theme-chalk/src/common/var.scss' with (
$colors:(
'primary': (
'base': #27ba9b,
),
'success': (
'base': #1dc779,
),
'warning': (
'base': #ffb302,
),
'danger': (
'base': #e26237,
),
'error': (
'base': #cf4444,
)
)
)
css: {
preprocessorOptions: {
scss: {
// 自动导入定制化样式文件进行覆盖
additionalData: `
"@/styles/element/index.scss" as *;
`,
}
}
}
npm i axios // 安装
第1步
在 utils 下创建一个公用的 http.js 文件 创建拦截器等
// axios 基础的封装
import axios from "axios";
const httpInstance = axios.create(
{
baseURL: 'https://api.goodsright.shangkelian.cn/api/',
timeout:5000
}
)
// 拦截器
httpInstance.interceptors.request.use ((config) => {
return config;
}, (error) => {
return Promise.reject(error);
})
// 添加响应拦截器
httpInstance.interceptors.response.use((response) => {
return response.data;
}, (error)=> {
return Promise.reject(error);
})
export default httpInstance
第2步 在apis 文件下创建【文件名】.js 文件用于装载你自己定义的接口;
// 引入公用封装
import httpInstance from '@/utils/http'
// 自定义请求接口
export function getGoodsIndex() {
return httpInstance({
url: 'mall/shops'
})
}
第3步 在main.js 文件下完成测试请求;
// 引入封装的请求即可欧
import {
getGoodsIndex
} from './apis/test'
// 请求接口
getGoodsIndex().then(res => {
res.data