vue3+ts项目03 element-plus、vue-router、pinia

yarn add element-plus
yarn add @element-plus/icons-vue

修改main.ts

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

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'

const app = createApp(App)

app.use(ElementPlus, {
  locale: zhCn,
})
app.mount('#app')

在使用 Element-Plus ,配置国际化时可能会出现Could not find a declaration file for module 'element-plus/dist/locale/zh-cn.mjs的报错。
解决方案:
在 vite-env.d.ts 配置 declare module “*.mjs” 即可。
此外,如果其他因为 ts 类型检测出现报错,导致打包失败,可以添加 // @ts-ignore 的代码注释,则会直接忽略当前文件 ts 类型的检测。
在这里插入图片描述

配置src别名

安装

yarn add @types/node --save-dev

修改vite.config.ts

import path from 'path'
resolve: { alias: { '@': path.resolve('./src') } },

修改tsconfig.json,这样以后的路径都可以写@/

//compilerOptions节点下
"baseUrl": "./", // 解析非相对模块的基地址,默认是当前目录
"paths": {
  //路径映射,相对于baseUrl
  "@/*": ["src/*"]
},

配置项目中的环境变量

新建.env.development

# 变量必须以VITE_为前缀才能暴露给外部读取
NODE_ENV = 'development'
VITE_APP_TITLE = 'vue-admin'
VITE_APP_BASE_API = '/api'
VITE_SERVE = 'http://sph-api.atguigu.cn'

新建.env.production

NODE_ENV = 'production'
VITE_APP_TITLE = 'vue-admin'
VITE_APP_BASE_API = 'http://sph-api.atguigu.cn'
VITE_SERVE = 'http://sph-api.atguigu.cn'

新建.env.test

NODE_ENV = 'test'
VITE_APP_TITLE = 'vue-admin'
VITE_APP_BASE_API = '/test-api'
VITE_SERVE = 'http://sph-api.atguigu.cn'

配置项目中的环境变量

新建.env.development

# 变量必须以VITE_为前缀才能暴露给外部读取
NODE_ENV = 'development'
VITE_APP_TITLE = 'vue-admin'
VITE_APP_BASE_API = '/api'
VITE_SERVE = 'http://sph-api.atguigu.cn'

新建.env.production

NODE_ENV = 'production'
VITE_APP_TITLE = 'vue-admin'
VITE_APP_BASE_API = 'http://sph-api.atguigu.cn'
VITE_SERVE = 'http://sph-api.atguigu.cn'

新建.env.test

NODE_ENV = 'test'
VITE_APP_TITLE = 'vue-admin'
VITE_APP_BASE_API = '/test-api'
VITE_SERVE = 'http://sph-api.atguigu.cn'

package.json新增两个命令

"build:test": "vue-tsc && vite build --mode test",
"build:pro": "vue-tsc && vite build --mode production",

获取环境变量

// import.meta.env里面就有
console.log(import.meta.env)

开发环境的配置

{
  "VITE_APP_TITLE": "vue-admin",
  "VITE_APP_BASE_API": "/api",
  "VITE_SERVE": "http://sph-api.atguigu.cn",
  "VITE_USER_NODE_ENV": "development",
  "BASE_URL": "/",
  "MODE": "development",
  "DEV": true,
  "PROD": false,
  "SSR": false
}

自带属性介绍
import.meta.env.MODE: 当前构建模式,可以是"development"、"production"或"test"之一。
import.meta.env.BASE_URL: 当前项目的基准URL。
import.meta.env.PROD: 一个布尔值,表示当前是否处于生产模式。
import.meta.env.DEV: 一个布尔值,表示当前是否处于开发模式

vue-router

添加路由

yarn add vue-router

src下新建views文件夹,该文件夹下新建404、home、login文件夹,这些文件夹下新建index.vue

<template>
  <div>我是404</div>
</template>
<script setup lang="ts"></script>
<style scoped lang="scss"></style>

src下新建router文件夹,该文件夹下新建index.ts和routers.ts
index.ts

import { createRouter, createWebHashHistory } from 'vue-router'
import { constantRoute } from './routers'

const router = createRouter({
  history: createWebHashHistory(),
  routes: constantRoute,
  // 滚动行为
  scrollBehavior() {
    return {
      left: 0,
      top: 0,
    }
  },
})

export default router

routers.ts

export const constantRoute = [
  {
    path: '/login',
    component: () => import('@/views/login/index.vue'),
    name: 'login',
  },
  {
    path: '/',
    component: () => import('@/views/home/index.vue'),
    name: 'layout',
  },
  {
    path: '/404',
    component: () => import('@/views/404/index.vue'),
    name: '404',
  },
]
//任意路由
export const anyRoute = {
  path: '/:pathMatch(.*)*',
  redirect: '/404',
  name: 'Any',
}

app.vue

<router-view></router-view>

main.ts

import router from '@/router/index'

app.use(router)

pinia

yarn add pinia

新建stores文件夹,该文件下新建index.ts

// https://pinia.vuejs.org/
import { createPinia } from 'pinia';
// 创建
const pinia = createPinia();
// 导出
export default pinia;

使用

import pinia from '/@/stores/index';

app.use(pinia)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假装我不帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值