首页 > 其他分享 >如何使用vite搭建vue3项目详解

如何使用vite搭建vue3项目详解

时间:2022-11-12 18:00:29浏览次数:73  
标签:npm vue ts 详解 install vue3 import vite

目录

使用vite需要node版本在12以上

一:npm构建

1、npm init vite@latest

2、Project name:(项目名称)

3、Select a framework:(选择要用什么构建自己的项目,这边选vue)然后会有两个选项一个是vue(vue+js) ,一个是vue+ts,根据自己的项目需求来选

4、cd到项目下npm install 安装一下依赖

注:以下只针对vue3+ts配置,vue+js请移步

二:更改http://localhost:3000/到8080与Network路由访问

在vite.config.ts里面加入:(server对象为新增,其他均是原有代码)

1 2 3 4 5 6 7 8 9 10 11 12 import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue'    // https://vitejs.dev/config/ export default defineConfig({   plugins: [vue()],   server:{     host:'0.0.0.0',//解决vite use--host to expose     port:8080,     open:true   } })

三:配置vite别名(npm install @types/node --save-dev)

在vite.config.ts里面加入:(resolve对象为新增)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path'    // https://vitejs.dev/config/ export default defineConfig({   plugins: [vue()],   server:{     host:'0.0.0.0',//解决vite use--host to expose     port:8080,     open:true   },   resolve:{     alias:[       {         find:'@',         replacement:resolve(__dirname,'src')       }     ]   } })

四 :路由(npm install vue-router@4)

src下新建目录router→index.ts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import {createRouter,createMemoryHistory,RouteRecordRaw} from 'vue-router' import Layout from '@/components/HelloWorld.vue' const routes:Array<RouteRecordRaw> =[     {         path:'/',         name:'home',         component:Layout     } ] // 创建 const router = createRouter({     history:createMemoryHistory(),     routes }) // 暴露出去 export default router

在min.ts下 import router from './router/index' 引入路由 

在min.ts下 app.use(router)注册路由

在App.vue下<router-view></router-view>

五:vuex(npm install vuex@next --save)

src下新建目录store→index.ts

打开vuex官网(Vuex 是什么? | Vuex)找到TypeScript支持下的“简化 useStore 用法”直接复制所有代码就可以

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import { InjectionKey } from 'vue' import { createStore, useStore as baseUseStore, Store } from 'vuex'    export interface State {   count: number }    export const key: InjectionKey<Store<State>> = Symbol()    export const store = createStore<State>({   state: {     count: 0   },   mutations:{     setCount(state:State,i:number){         state.count = i     }   },   getters:{      getCount(state:State){         return state.count     }   } })    // 定义自己的 `useStore` 组合式函数 export function useStore () {   return baseUseStore(key) }

在min.ts下 import {store,key} from './store/index' 引入vuex

在min.ts下 app.use(store,key)注册路由

(如有疑问可参考官网TypeScript支持下的“useStore 组合式函数类型声明”)

六:Eslint(可选)(npm install --save-dev eslint eslint-plugin-vue)

根目录新建文件.eslintrc.js

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 module.exports = {     root: true,     parserOptions: {         sourceType: 'module'     },     parser: 'vue-eslint-parser',     extends: ['plugin:vue/vue3-essential', 'plugin:vue/vue3-strongly- recommended', 'plugin:vue/    vue3-recommended'],     env: {         browser: true,         node: true,         es6: true     },     rules: {         'no-console': 'off',         'comma-dangle': [2, 'never'] //禁止使用拖尾逗号 } }     } }

七:less/sass(可选)(npm install -D sass sass-loader)

转自

https://www.jb51.net/article/255347.htm

标签:npm,vue,ts,详解,install,vue3,import,vite
From: https://www.cnblogs.com/suihung/p/16884316.html

相关文章

  • electron-vite 开发开发桌面应用 用户选择安装位置
    electron-vite开发vue3开发桌面应用用户选择安装位置使用electron-vite创建项目npmcreate@quick-start/electronmy-app----templatevue-ts安装好依赖cnpmi......
  • 【JAVA】详解在JAVA中int与Integer的区别以及背后的原因。
    区别首先我们要明确,这两点之间有什么区别?主要有以下几点:数据类型不同:int是基础数据类型,而Integer是包装数据类型;默认值不同:int的默认值是0,而Integer的默认值是nul......
  • 记录nuxt3爬坑,vitest配置,autoimport等问题
    记录日期2022.11.11项目基于vitesse-nuxt3package.json、nuxt.config.ts、vitest.config.ts配置放在结尾项目版本nuxt版本:3.0.0-rc.13-27772354.a0a59e2@nuxt/test-u......
  • bochs调试方法与指令详解
    参考:https://blog.csdn.net/liu0808/article/details/53099099#t0bochs调试FAQ:一基本调试命令1.       Q:如何从引导扇区开始设置断点?A:BIOS被载入内存中......
  • Java中的接口详解
    概述接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK7及以前),默认方法和静......
  • 14. Vue2 和 Vue3 区别
    主要分为四点:1.Vue3使用了proxy替代了Object.defineProperty实现响应式数据,所以vue3的性能得到了提升;2.Vue3可以在template模板使用多个根标......
  • 13. 说一下$set,用在Vue2还是Vue3
    $set是vue2中对象用来追加响应式数据的方法;使用格式:$set(对象,属性名,值) vue3中使用proxy替代了Object.defineProperty实现对象的响应式数据,所以在......
  • vue3 基础-API-computed
    前些章节讲了一些常用的api如setup,ref,reactive,toRef...等,并以一个todoList的小案例来体现在vue3中如何进行解耦逻辑,以setup函数作为调度的这种后端编......
  • vite不能用@做为路径的解决方法
    vite创建vue3后,发现原来用@做为路径的不能用了,报错信息是Internalservererror:Failedtoresolveimport"@在网上查了一下资料,解决方法如下首先安装pathnpmins......
  • Admin后台快速美化详解
    Admin后台快速美化详解1.下载依赖使用清华源,使用新的插件,介绍一款专业美化Admin界面的插件SimpleUI(基于element-ui+vue开发),安装和配置极其方便,而且无需修改原来的代......