文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vite怎么创建一个标准vue3+ts+pinia项目

2023-06-30 14:55

关注

本文小编为大家详细介绍“vite怎么创建一个标准vue3+ts+pinia项目”,内容详细,步骤清晰,细节处理妥当,希望这篇“vite怎么创建一个标准vue3+ts+pinia项目”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

【01】使用的 Yarn创建项目:

执行命令

yarn create vite my-vue-app --template vue-ts

cd my-vue-app //进入到项目
4、yarn // 安装依赖
5、yarn dev // 运行项目

vite.config.ts

import path from 'path' // 需要安装 @types/node 并在 tsconfig.node.json的compilerOptions中配置"allowSyntheticDefaultImports": trueimport { defineConfig } from 'vite'import vue from '@vitejs/plugin-vue'function _resolve(dir) {  return path.resolve(__dirname, dir);}// https://vitejs.dev/config/export default defineConfig({  plugins: [vue()],  server:{    host: '0.0.0.0', // 监听本地所有ip    port: 3010 // 项目端口  },  resolve:{    alias:{      '@': _resolve('src') // 别名    }  }})

【02】在项目中使用pinia

pinia官网

安装pinia

yarn add pinia

引用到项目

import { createApp } from 'vue'import App from './App.vue'import { createPinia } from 'pinia' // 导入piniaconst app = createApp(App)app.use(createPinia()) // 注册piniaapp.mount('#app')

使用pinia Demo

// ./src/stores/counterStore.tsimport { defineStore } from 'pinia',const useCounterStore = defineStore('counterStore', {  state: () => ({    counter: 0  })})
// setup中使用import { useCounterStore } from '../stores/counterStore'export default {  setup() {    const counterStore = useCounterStore()    return { counterStore }  },  computed: {    tripleCounter() {      return counterStore.counter * 3    },  },}

【03】添加vue-router

安装 router

yarn add vue-router

如何使用

1). 创建router

// src/router/index.tsimport { createRouter, createWebHashHistory, RouteRecordRaw } from "vue-router";const routes: RouteRecordRaw[] = [  {    path: '/login', // 浏览器访问地址    name: 'Login',    component: () => import( new URL('../pages/Login/index.vue', import.meta.url).href ),    mate:{}  }]const router = createRouter({  history: createWebHashHistory(),  routes,})export default router

2). 引用到项目

// main.tsimport router from './router'app.use(router)

【04】 安装按需自动导入插件

首先需要安装unplugin-auto-import和unplugin-vue-components两个插件

- unplugin-auto-import: 自动导入api 
- unplugin-vue-components: 自动导入使用的组件

yarn add unplugin-auto-import unplugin-vue-components -D

配置 vite.cinfig.ts

import AutoImport from 'unplugin-auto-import/vite'import Components from 'unplugin-vue-components/vite'export default defineConfig({  plugins: [    // 自动导入API方法    AutoImport({      imports: [  // 自动导入API配置        'vue',         'vue-router',        'pinia',      ],      resolvers: [], // custom resolvers      dts: 'src/typings/auto-imports.d.ts', // 导入存放地址    }),    // 自动导入组件    Components({      resolvers: [], // custom resolvers      dts: 'src/typings/components.d.ts',    }),  ]})

【05】 添加element-plus组件库

先安装依赖包

yarn add element-plus

自动导入样式和组件

1). 首先你需要安装unplugin-vue-components 和 unplugin-auto-import这两款插件

yarn add unplugin-vue-components unplugin-auto-import -D

2). 配置到vite

// vite.config.tsimport AutoImport from 'unplugin-auto-import/vite'import Components from 'unplugin-vue-components/vite'import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'export default defineConfig({  plugins: [    // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)    AutoImport({      resolvers: [ElementPlusResolver()],    }),    // 自动导入 Element Plus 组件    Components({      resolvers: [ElementPlusResolver()],    }),  ],})

element-plus 图标库

1). 安装依赖包

// 安装包    yarn add @element-plus/icons-vue

2). 自动导入icon组件配置

// 使用unplugin-icons和unplugin-auto-import自动从Iconify导入任何图标集合yarn add unplugin-auto-import unplugin-icons -D
// vite.config.tsimport { defineConfig } from 'vite'import vue from '@vitejs/plugin-vue'import AutoImport from 'unplugin-auto-import/vite'import Components from 'unplugin-vue-components/vite'import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'// 自动导入element图标import Icons from 'unplugin-icons/vite'import IconsResolver from 'unplugin-icons/resolver'import Inspect from 'vite-plugin-inspect'const path = require('path');function _resolve(dir) {  return path.resolve(__dirname, dir);}// https://vitejs.dev/config/export default defineConfig({  plugins: [    vue(),    // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)    AutoImport({      resolvers: [        ElementPlusResolver(),        // 自动导入图标组件        IconsResolver({          prefix: 'Icon',        }),              ],      dts: path.resolve(_resolve('src'), 'auto-imports.d.ts'),    }),    // 自动导入 Element Plus 组件    Components({      resolvers: [        // 自动注册图标组件        IconsResolver({          enabledCollections: ['ep'],        }),        ElementPlusResolver()],    }),    Icons({      autoInstall: true, // 是否自动加载    }),    Inspect(),  ],  server:{    host: '0.0.0.0', // 监听本地所有ip    port: 3010 // 项目端口  },  resolve:{    alias:{      '@': _resolve('src') // 别名    }  }})

3). 使用方法

<template>    <i-ep-add-location />    <IEpRefresh /></template>

【06】添加sass

安装

yarn add sass sass-loader -D

配置sass全局变量

// vite.config.tsexport default {  css:{    preprocessorOptions: {      scss: {        additionalData: "@import './src/assets/css/mixin.scss';",      },    },  }}

【07】 安裝prettier 和 eslint

1.安装依赖项

// 安裝prettier------------------------------------------------------------yarn add prettier eslint-config-prettier eslint-plugin-prettier -D// 安裝eslint-------------------------------------------------yarn add eslint eslint-plugin-vue eslint-config-airbnb-base eslint-plugin-import @typescript-eslint/eslint-plugin @typescript-eslint/parser -D

根目录添加.prettierrc.js文件

// .prettierrc.jsexports.modules = {  // 设置强制单引号  singleQuote: true,  autoFix: false,  printWidth: 140,  semi: false,  trailingComma: "none",  arrowParens: "avoid",  endOfLine: "LF",};

根目录添加.eslintrc.js文件

eslint官网

// .eslintrc.jsmodule.exports = {  env: {    browser: true,    es2021: true,  },  extends: [    "plugin:vue/vue3-essential",    "airbnb-base",    "@vue/typescript/recommended",    "@vue/prettier",    "@vue/prettier/@typescript-eslint",  ],  parserOptions: {    ecmaVersion: "latest",    parser: "@typescript-eslint/parser",    sourceType: "module",  },  plugins: ["vue", "@typescript-eslint"],  rules: {    "vue/no-multiple-template-root": "off", // 关闭多根节点的校验vue3可使用多個根節點    quotes: ["error", "single"], // 引号规则为:“单引号”,否则一律按照 “error” 处理(你也可以改成warn试一下)  },};

读到这里,这篇“vite怎么创建一个标准vue3+ts+pinia项目”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯