Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >做个开源博客学习Vite2 + Vue3 (一)搭建项目

做个开源博客学习Vite2 + Vue3 (一)搭建项目

作者头像
用户1174620
发布于 2021-04-23 06:25:26
发布于 2021-04-23 06:25:26
85700
代码可运行
举报
运行总次数:0
代码可运行

前言

不会 webpack,遇到报错就一头雾水,完全不知道怎么办,而且体积还大速度还慢。 所以尤雨溪做了 vite 后就很向往,只是知道自己水平有限还是等大佬先趟趟坑,等差不多了在跳。

现在vite2发布了,官网也有了,网上也能找到大佬写的相关资料,时机应该成熟可以往里跳了。 所以打算做个开源博客,一边做这个小项目,一边学习 vite2 和vue3,还有相关知识。

为啥选择博客呢?因为功能相对比较简单,不考虑皮肤等功能的话。 而且大家都比较熟悉,没写过博客总看过博文吧。 所以呢,业务需求方面一说大家也都懂,不用做过多的解释。

建立项目

因为GitHub总是连不上,速度还慢,所以选择了gitee。先在gitee上面建立一个项目: https://gitee.com/naturefw/vue3-blog

然后clone到本地,接下来就是用vite2建立项目了。

按照官网(https://cn.vitejs.dev/guide/#scaffolding-your-first-vite-project)介绍建立项目。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn create @vitejs/app

这里建议使用 yarn,因为可以更快一些。

  • 设置项目名称:

输入你喜欢的名称即可,这里用vue3-blog。

  • 选择模板

我也不知道都是啥,反正选 vue 就对了,如果你喜欢ts的话,那么可以选择vue-ts。

  • 初始化 进入项目文件夹,执行 yarn 安装需要的资源包。最后执行 yarn dev 就可以运行项目了。
  • 对比项目体积 vite2建立的项:

比vue-cli建立的项目小多了,不信可以对比一下:

  • 运行项目 如果是Windows环境的话,可以做个bat文件,内容是 yarn dev ,然后保存为run.bat,注意扩展名。然后双击文件即可运行,比较方便。

再也不需要漫长的等待了。

  • 看看效果

还是一贯的简洁。

安装路由

按照官网(https://next.vuex.vuejs.org/installation.html#direct-download-cdn)介绍安装路由。(估计大家都会)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add vuex@next --save

还是使用 yarn 的方式来安装。

  • main里面做设置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { createApp } from 'vue'
import App from './App.vue'
import router from './router' // 路由

createApp(App)
  .use(router) // 路由
  .mount('#app')

路由的设置和使用没啥区别,所以就不多说了。

安装轻量级状态管理

vite2也是支持Vuex的,只是个人感觉Vuex有点繁琐,所以自己做了个轻量级的状态管理,博客项目采用这个vue-data-state来尝试一下,具体好不好用看后面的实际使用情况。

  • 安装
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add vue-data-state
  • 设置 和 Vuex 比较像,先做一个index.js 文件定义状态,然后在main.js 里面挂载
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// store-ds/index.js
import VuexDataState from 'vue-data-state'

export default VuexDataState.createStore({
  global: { // 全局状态
    blogState: {
      name:'博文的状态', // 测试用
      currentGroupId: 0, // 选择的分组ID。0:没选择
      currentArticleId: 0, // 选择的文章ID。
      editArticleId: 0 // 当前修改的文章ID
    },
    dicussState: {
      name: '讨论的状态'
    }
  },
  local: { // 局部状态
    // 数据列表,使用前需要先注册
    dataListState() { // 显示博文列表用的状态
      return {
        findKind: {}, // 查询方式
        find: {}, // 查询关键字
        page: { // 分页参数
          pageTotal: 100,
          pageSize: 2,
          pageIndex: 1,
          orderBy: { id: false }
        },
        _query: {}, // 缓存的查询条件
        isReload: false // 重新加载数据,需要统计总数
      }
    }
  },
  // 可以给全局状态设置初始状态,同步数据可以直接在上面设置,如果是异步数据,可以在这里设置。
  init(state) {
    setTimeout(() => {
      state.blogState.name = 'int里面设置的数据,可以异步'
    },3000)
  }
}) 

main.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { createApp } from 'vue'
import App from './App.vue'
import router from './router' // 路由
import store from './store-ds' // 轻量级状态

createApp(App)
  .use(router) // 路由
  .use(store) // 轻量级状态
  .mount('#app')

具体使用方式在后面使用的时候在介绍。

安装 element-plus

按照官网(https://element-plus.gitee.io/#/zh-CN/component/installation)介绍安装 element-plus

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add element-plus --save

vite2支持各种UI库,或者说支持什么UI库,其实还是看vue3。 使用方面也没啥区别。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { createApp } from 'vue'
import App from './App.vue'
import router from './router' // 路由
import store from './store-ds' // 轻量级状态

// UI库
import ElementPlus from 'element-plus'
import 'element-plus/lib/theme-chalk/index.css'
import 'dayjs/locale/zh-cn'
import locale from 'element-plus/lib/locale/lang/zh-cn'

createApp(App)
  .use(router) // 路由
  .use(store) // 轻量级状态
  .use(ElementPlus, { locale, size: 'small' }) // UI库
  .mount('#app')

安装 v-md-editor

按照官网(https://ckang1229.gitee.io/vue-markdown-editor/zh/quick-start.html#安装支持-vue3-的版本)介绍,安装 v-md-editor,用于编辑博文。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add @kangc/v-md-editor@next

注意:一定要带上@next,否则在vue3里面会报错,别问我是怎么知道了,还不是没仔细看文档踩的坑。

好了项目的架子搭建起来了,后面就是具体的实现方式。 下篇更精彩。 码字不易,感谢点赞。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vue3 全家桶 + Element Plus + Vite + TypeScript + Eslint 项目配置最佳实践
而且 Element Plus + Vite 也出了一段时间了,是时候该上手体验分享一波了。
Sneaker-前端公虾米
2021/06/21
2.5K1
Vue3 全家桶 + Element Plus + Vite + TypeScript + Eslint 项目配置最佳实践
使用vite搭建vue3.0+ts+element plus+sass项目
根据步骤执行上图的提示操作 cd project-name yarn yarn dev
前端小tips
2021/12/06
1.3K0
使用vite搭建vue3.0+ts+element plus+sass项目
基于 vite2 + Vue3 写一个在线帮助文档工具
VuePress 是“静态网站生成器”,需要我们自行编写文档,然后交给VuePress变成网站,VuePress 并没有提供编写环境,我知道有很多编写 Markdown 的方式,但是我还是喜欢编写、浏览合为“一体”的方式。
用户1174620
2022/05/09
1.4K0
Vite开发快速入门
Vite (法语意为 "快速的",发音 /vit/) 是一种面向现代浏览器的一个更轻、更快的前端构建工具,能够显著提升前端的开发体验。除了Vite外,前端著名的构建工具还有Webpack和Gulp。目前,Vite已经发布了Vite2,Vite全新的插件架构、丝滑的开发体验,可以和Vue3的完美结合。
xiangzhihong
2021/08/05
1.4K0
一个基于vite构建的vue3+pinia+ts+elementUI plus的初始化开箱即用的项目模版
Vite 需要 Node.js 版本 >= 12.0.0。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。
用户6297767
2023/11/21
9040
一个基于vite构建的vue3+pinia+ts+elementUI plus的初始化开箱即用的项目模版
整合vite2+electron12撸后台管理系统
前一段时间有给大家分享一个Electron+Vue3.x短视频,今天再分享最新开发的Electron桌面端后台系统。
andy2018
2021/05/18
2.1K0
整合vite2+electron12撸后台管理系统
Vite2 + Vue3 + Typescript 入门级教程
页面上我们需要输入框输入内容之后,回车触发向仓库添加数据,在 views/home.vue 添加如下代码:
公众号---人生代码
2021/03/16
7790
Vite2 + Vue3 + Typescript 入门级教程
Vue3(二)工程化开发方式做项目 node.jsnpmcnpmyarncli 脚手架的方式建立项目vite 的方式建立项目vue全家桶的手动安装方式安装第三方UI库代码入口 main
这是开发中、大型项目的必备技能,网上资料也很多,这里只是一个简单的综合性的介绍。包括vue的全家桶、建立项目的几种方式、UI库的简单使用等。 可以和上一篇的cnd方式做项目做一下对比。
用户1174620
2021/02/04
7270
【实战技巧】Vue3+Vite工程常用工具的接入方法
Vue3 正式版已经发布一段时间了,和 Vue3 更配的工具 Vite 也已经投入使用了,本文整理了如何将一些常用的工具整合到项目中。
一尾流莺
2022/12/10
2.1K0
Vue3 + Vite + TypeScript 项目搭建总结
node 版本>=12.0.0,这边建议直接更新到 16+(我本地的是最新的 v20.11.1)
zz_jesse
2024/05/02
5350
Vue3 + Vite + TypeScript 项目搭建总结
5分钟搭建 vite + vue3 工程,简单,实用!
本文主要介绍 vite + vue3 + vue-router4 + vuex4 + ant-design-vue2 + axios + mockjs 工程搭建。2021年,若还没有体验过 vite 的速度,要抓紧动手试一下啦!
coder_koala
2021/12/22
5.7K0
关于 vue3 + typescript 项目中常用的知识点汇总
在实际项目开发中,常常会遇到这么一个场景,某一个路由是不需要渲染到侧边栏导航上的,此时我们可以给该路由添加一个hidden属性来实现。
前端达人
2021/07/19
1.6K0
关于 vue3 + typescript 项目中常用的知识点汇总
使用Vite2+TypeScript4+Vue3技术栈,如何入手开发项目
已经两周没有发文了,自己临时有点事耽误了,在这里向大家表示深深地歉意。今天,我们使用vite2.0+vue3+ts来开发一个demo项目。
用户3806669
2021/04/15
1.1K0
使用Vite2+TypeScript4+Vue3技术栈,如何入手开发项目
创建Vue3项目
一,使用Vue图形界面方式创建项目,打开控制台,输入vue ui 若想使用vue的UI界面来创建项目,需将vue升级到 3.0以上的版本。不然还是通过vue create 项目名 创建项目吧。 //下载vue最新版 npm i -g @vue/cli 或者 cnpm install -g @vue/cli //打开ui界面 vue ui 二,找到Vue 项目管理器,选择新建项目,选择需要创建的文件目录,输入项目名称(尽量小写)创建,这里预设选择的是Vue3。 三,选择安装
张苹果
2022/11/07
1.5K0
创建Vue3项目
从 Vite 与 Vue 开始的 D3 数据可视化之旅
这是一个极其简单的并尽可能面向未来的新手教程,它将指导你简单地使用 Vite 启动 Vue 的脚手架,并开始 D3 数据可视化的相关开发。而你无需 Vue 相关的前置使用知识,你只需跟随教程简单地使用它。 在课后如果你仍有兴趣,那么你可以继续地深入了解它。
云游君
2021/05/21
2.6K0
解锁 Vue3 全家桶 + TS 的正确姿势
https://juejin.cn/post/6980267119933931551
@超人
2021/07/29
6530
解锁 Vue3 全家桶 + TS 的正确姿势
从 jQuery 到 Vue3 的快捷通道
jQuery的使用非常方便,用 script 引入 js文件即可,然后找到DOM即可开始操作。 而 Vue3 也支持直接用 script 引入的方式,然后使用插值的方式绑定数据,我们来看一下使用方法:
用户1174620
2022/05/09
7550
从 jQuery 到 Vue3 的快捷通道
【vite+vue3+Ts+element-plus】肩并肩带你写后台管理之vite初始化项目以及项目准备工作
相信绝大多数的前端小伙伴就业初期或多或少都了解或使用过花裤衩大佬的vue-element-admin,部分小伙伴还看过框架配套的文章——手摸手撸后台系列。但很多小伙伴上来就用框架,很多实现方法都不了解怎么实现的,比如权限管理怎么做的?标签切换怎么做的?暗黑模式自定义主题又是如何实现的?诸如此类的细节还有很多,像我之前就不是很懂,用是会用,但是框架出点什么毛病就很难去修改。所以趁着失业,正好静下心来学习一下,用vite+vue3+element-plus+Ts来从0开始写一个通用的后台管理模板,ts由于我也不是太熟,写着用着,以不报错为主,所以ts用法部分仅供参考。
十里青山
2023/04/28
1.1K3
【vite+vue3+Ts+element-plus】肩并肩带你写后台管理之vite初始化项目以及项目准备工作
做个开源博客学习Vite2 + Vue3 (四)实现博客功能 管理类文件结构config设置路由设置网页入口代码入口首页、博文列表表单 发布博文博文内容 + 讨论博文分组博文列表,编
Composition API,就是组合API的意思,那么是不是应该把js代码分离出来,做成独立的管理类的形式呢?
用户1174620
2021/04/26
8870
做个开源博客学习Vite2 + Vue3 (四)实现博客功能
    




管理类文件结构config设置路由设置网页入口代码入口首页、博文列表表单 发布博文博文内容 + 讨论博文分组博文列表,编
Vite 搭建 Vue2 项目(Vue2 + vue-router + vuex)
相信有些开发者还没开始学 Vue3,但又想尝尝 Vite。那可以参考本文的进食方式。
德育处主任
2022/04/15
7.6K1
Vite 搭建 Vue2 项目(Vue2 + vue-router + vuex)
推荐阅读
相关推荐
Vue3 全家桶 + Element Plus + Vite + TypeScript + Eslint 项目配置最佳实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验