StarBlog博客Vue前端开发笔记:(1)准备篇
前言
之前在【基于.NetCore 开发博客项目 StarBlog - (32) 第一期完结】里说到 StarBlog 的 Vue 前端系列已经写好了
本来打算后面再发的,不过最近有点懒没去写新的文章 还是整理一些老文发出来吧~
PS:这个系列的文章最后编辑于 2023 年 6 月
本公众号开通了付费文章的功能,我打算在这个 StarBlog Vue 系列上开始尝试一下。不想付费也没关系,您可以在我的博客上完整阅读本系列的全部文章~
如果有同学觉得我的文章有帮助,可以在公众号付费支持一下,一点不起眼的鼓励都是对创作者莫大的鼓励!
另外再碎碎念一下~
对于创作变现,我一直没有明确的规划,运营公众号和博客纯粹是作为兴趣爱好,以及作为日常学习的记录。
之前我也一直缺乏完全转型的决心,但在如今大环境寒冬的背景下,行业形势愈发严峻,也许还得等很久,才能迎来下一轮经济爆发期。
所以我建议各位程序员朋友,即使目前有稳定的收入,也应该居安思危,尝试拓展一下副业,多一种选择也多一种未来的可能。
如今的付费文章只能算在初步摸索,接下来我会尝试更多的“商业模式”,不打工是每个打工人的终极梦想,毕竟理想总要有的嘛,万一实现了呢?
本系列内容规划
本系列的写作背景是从零开始边学边用 Vue 开发一套博客的管理后台,写作视角是 Vue 的初学者,所以挺适合刚入门的同学阅读。
整个项目已经开源,搭配源码阅读的话效果更佳: https://github.com/Deali-Axy/StarBlog-Admin
内容覆盖到 StarBlog 博客的后台功能,包括:
- 页面路由
- SASS 与 SCSS
- 第三方图标库的使用
- 网络通信
- 登录页面编写
- 主页面(使用 Vue 实现多标签页)
- 状态管理与 Vuex
- vue-router 路由
- 常见页面布局(Grid、Flex、瀑布流等)
- 常用交互功能(文件上传、弹窗)
- 富文本编辑器
- 第三方组件库使用(主要是 ElementUI)
- 可视化大屏开发
- 常见问题与解决
- 扩展学习资料
本项目的技术不是最新的,不过实现的功能覆盖到管理后台常见的功能需求。
比起各种高大上的模板,本系列更侧重于一步步学习,并且在学习中举一反三。
最终把管理后台这个开发场景随便拿捏
环境准备
说了这么多,终于开始正题了,本文的内容很简单,就是安装环境和创建项目。
NodeJs
现代前端开发讲究工程化,万物基于 Nodejs 这个 JavaScript 运行环境
入门版
首先需要安装 NodeJs
最简单的方式是在官网下载安装
下载地址: http://nodejs.cn/download/
进阶版
使用 NVM 管理 Nodejs 环境是更好的选择,可以安装多个版本,随时能切换,方便得很。
在 Windows 平台开发的话,如果搭配 scoop 之类的包管理器,体验更好。
详情见我今年春节后开工发的文章:
关于 NVM 的使用不是本文的重点,请参考 NVM 官网: https://github.com/nvm-sh/nvm
安装前端工具链
国内使用 NPM 需要设置国内镜像才能正常安装,之前常用的淘宝镜像说是要停止解析了,可以用这个 npmmirror 中国镜像,命令如下:
npm config set registry https://registry.npmmirror.com
npmmirror 中国镜像站官网:https://npmmirror.com/
更多配置国内镜像的内容可以参考我之前的博客:https://mp.weixin.qq.com/s/TQt7r-xyphy2KfrOvg2OBA
安装 webpack
新版本的脚手架都是内置的了,不过 StarBlog 用的 Vue 比较老… 需要自己安装
npm install -g webpack
安装 vue-cli
Vue 项目必须安装这个脚手架
前端组件必须特别注意版本,很多奇奇怪怪的问题都是版本不兼容导致的
具体到本项目,使用的 vue 版本是 2.5.2
npm install -g vue-cli
安装 yarn
Yarn 是 Facebook 发布的 node.js 包管理器,比 npm 更快、更高效,可以使用 Yarn 替代 npm。
关于 yarn 我在之前的这篇博客里有提到: 代码使我头疼之 React 初学习
安装命令
npm install -g yarn
设置国内镜像,跟 NPM 的操作一样
yarn config set registry https://registry.npmmirror.com
PS:顺便提一嘴,我现在用 pnpm 更多,感觉是更好的选择,不过新手还是用 yarn 吧,简单好用,pnpm 还是有一些坑的,这里就不展开了~
创建项目
使用 vue-cli 来创建项目
vue init webpack starblog-admin-ui
然后会问一堆信息,我是这样填的:
> vue init webpack starblog-admin-ui
? Project name: starblog-admin-ui
? Project description: Admin dashboard of StarBlog
? Author: DealiAxy <dealiaxy@gmail.com>
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Set up unit tests: No
? Pick a test runner: noTest
? Setup e2e tests with Nightwatch? No
? Should we run `npm install` for you after the project has been created? (recommended) yarn
最后一步可以选 Yes use npm 和 Yes use yarn,毫无疑问我选了 yarn,然后回车
# Project initialization finished!
# ========================
To get started:
cd starblog-admin-ui
npm run dev
Documentation can be found at https://vuejs-templates.github.io/webpack
搞定!vue-cli 很贴心,帮我们把依赖也安装好了~
运行测试
自动生成项目的目录结构如下
starblog-admin-ui
├── build
├── config
├── node_modules
├── src
├── static
├── test
├── README.md
├── index.html
├── package.json
└── yarn.lock
另外提一点,Windows 的
tree命令不支持定义要显示的目录层级,这里我选择了基于 Node 的tree-node-cli工具只需要
npm install -g tree-node-cli即可要实现以上的效果,命令是:
treee -L 1
切换到项目目录下,执行命令
yarn run dev
提示
DONE Compiled successfully in 2301ms
I Your application is running here: http://localhost:8080
OK,打开浏览器测试一切正常~ (截图我就不放了)
安装 ElementUI
vue 的 UI 好像不是很多,先选这个 elementUI 吧,后续再看看
话不多说
官网文档:https://element.eleme.cn/#/zh-CN/component/installation
安装依赖
直接命令
yarn add element-ui
导入项目
修改 src/main.js 文件
原本长这样
import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: {App},
template: '<App/>'
})
添加了 ElementUI 之后长这样
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.config.productionTip = false
Vue.use(ElementUI)
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: {App},
template: '<App/>'
})
OK 然后打开默认的页面,src/components/HelloWorld.vue
随便找个地方添加一个 elementUI 的按钮
<el-button type="primary">按钮</el-button>
然后打开浏览器测试一下,能看到按钮就是引入 ElementUI 成功了~
准备篇到这就收工啦。
StarBlog博客Vue前端开发笔记:(1)准备篇的更多相关文章
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Web前端,HTML5开发,前端资源,前端网址,前端博客,前端框架整理 - 转改
Web前端/H5开发,前端资源,前端网址,前端博客,前端框架整理 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v ...
- 极客Web前端开发资源大荟萃
前端开发已经成为当前炙手可热的技术之中的一个.本周我们除了给大家带技术相关资讯,另一些技术人员经常使用的站点.希望大家不要错过我们本周的内容.原文来自:极客标签 为神马说敲代码是非常艰难的 程序猿 做 ...
- SpringBoot技术栈搭建个人博客【前台开发/项目总结】
前言:写前台真的是我不擅长的东西...所以学习和写了很久很久...前台页面大概开发了两天半就开发好了,采用的静态的html和bootstrap来写,写后台的时候纠结住了...怎么说呢,写页面真的是头疼 ...
- 前端开发笔记(1)html基础
HTML介绍 HTML是HyperTextMarkupLanguage超文本标记语言的缩写 HTML是标记语意的语言 编辑器 任何纯文本编辑器都能够编辑html,比如记事本,editplus,note ...
- web前端开发笔记(2)
一.什么是作用域. 所有变量都存在于一个执行环境中(也称作用域),这个执行环境决定了变量的生命周期,以及哪一部分代码可以访问其中的变量.总结: 执行环境有全局执行环境和函数执行环境. 每次进入一个新执 ...
- web前端开发笔记(1)
一.HTML标签书写有哪些规范? 页面编码. 文档声明. 关键字与描述. 行内元素不能包含块级元素. a标签不能嵌套a标签. 标签名和属性必须用小写字母书写,属性必须加引号,标签必须闭合,单标签页必 ...
- 极客Web前端开发资源大荟萃#001
每周极客都将总结本周最精彩的素材提供给大家,希望可以带给你更多地灵感和帮助!极客#GB课程库#现已上线,无论你是初级.中级.还是正在进修的高级前端工程师.这里都将帮助你得到更多更高效的学习.原文:极客 ...
随机推荐
- JavaScript – 解构赋值 Destructuring Assignment
参考 阮一峰 – 变量的解构赋值 Array Destructuring Assignment old school const items = [1, 2, 3]; const item1 = it ...
- Glob 语法
Glob 通常用来匹配 file, gitignore, Tailwind CSS purge 都有用到 参考: Online Test Tool 语法解释 常用到的 ./PdfTemplate/** ...
- 从零开始搭建一个LoRaWAN基站
先说两句 SX1301/SX1302是semtech公司推出的基站端射频基带芯片,其与SX127x/SX126x的主要区别在于: 只是个基带芯片,使用时需要加射频前端(SX125x/SAW/...) ...
- 智慧矿山IT智能运维自动化解决方案
矿山企业是国民经济中的重要组成部分,其资源开发和产业链条中涉及的环节与过程非常繁琐和复杂.随着我国矿山企业规模逐年扩大,为了提高其生产效率和降低其生产成本,信息化.数字化建设成为当下矿山企业发展的重要 ...
- Android性能优化:getResources()与Binder交火导致的界面卡顿优化
背景 某轮测试发现,我们的设备运行一个第三方的App时,卡顿感非常明显: 界面加载很慢,菊花转半天 滑屏极度不跟手,目测观感帧率低于15 对比机(竞品)也会稍微一点卡,但是好很多,基本不会有很大感觉的 ...
- 【PyTorch】state_dict详解
这篇博客来自csdn,完全用于学习. Introduce 在pytorch中,torch.nn.Module模块中的state_dict变量存放训练过程中需要学习的权重和偏执系数,state_dict ...
- Leetcode Practice --- 栈和队列
目录 155. 最小栈 思路解析 20. 有效的括号 思路解析 1047. 删除字符串中的所有相邻重复项 思路解析 1209. 删除字符串中的所有相邻重复项 II 思路解析 删除字符串中出现次数 &g ...
- 运营商业务系统基于 KubeSphere 的容器化实践
本篇文章是 KubeSphere 2020 年度 Meetup 上讲师宋磊分享内容整理而成. 大家好,我是宋磊,在运营商的一个科技子公司任职,主要做大数据业务.我主要负责公司的 IaaS 层和 Paa ...
- 云原生爱好者周刊:使用 AWS 开源的 FireCracker 来创建和管理 K8s 集群
开源项目推荐 KubeFire 这个项目比较有创意,它使用 AWS 开源的轻量级虚拟化项目 FireCracker 来创建和管理 Kubernetes 集群,摒弃了传统的 qcow2 和 vhd 等虚 ...
- "开源"是什么?为啥这么火?一定免费吗?
在科技快速发展的今天,"开源"一词频频出现在我们的视野中.究竟什么是开源?为何它能在技术圈引发如此热潮? 开源软件到底有什么魅力?它是如何改变软件开发和使用的方式的?开源软件是 ...