来!手把手教你创建自己的代码仓库(一)

简介: 来!手把手教你创建自己的代码仓库

image.png

来!手把手教你创建自己的代码仓库


前言: 最近想把项目中感觉很常用的一些组件或者工具函数集中在自己的仓库中,方便以后使用起来不用再一个一个从 A 仓库找到 A 组件,然后从 B 仓库找到 B 组件...

就当我准备开始的时候,突然转念一想我应该记录下这个过程。

一方面是在公司项目中从我们几个开始敲代码之前,基本上所有前置任务比如创建仓库,安装包管理工具,Eslint 规则...等都是我们 leader 提前帮我们创建好的。我们开始敲代码只需要到代码仓库复制地址,然后到命令行 git clone 就完事了。所以我也想通过这个过程梳理一下自己从 0 配置一个代码仓库的思路。

另一方面如果能帮助到他人的话,也是本篇文章的幸事,何乐而不为呢?🎁

一. 使用 Vite 命令行工具


我们从 Vite 官方可以得知,我们可以通过 npmyarn 或者 pnpm 三个包管理工具去初始化仓库。

image.png

  1. 我们项目是使用 pnpm 的,所以我选择的是 pnpm
  2. 用终端打开一个你想放这个代码仓库的文件夹,然后输入下面这段代码。
pnpm create vite my-vue-app --template vue

image.png

特别需要注意一点,这里的 my-vue-app 是让你自定义这个文件名的,并不是你一定就需要叫 my-vue-app 这个名字,千万不要官方给你提供什么,你就写什么。一定一定要自己去动脑筋思考思考,学习这件事最忌讳死脑筋。

image.png

接下来会让你确认一遍包名,注意:这里不是让再次确认文件夹的意思,这里其实对应了之后你 package.jsonname 字段,这个后面会讲到。

image.png

按下回车之后,我们会看到这样的提示。

image.png

image.png

这段话的大致意思就是,脚手架的初始化已经帮你做好了。我们这里先不执行 pnpm install 命令,我们直接打开这个文件看看到底是什么样子。

如果你执行的没问题,你现在的代码仓库应该是这个样子。

image.png

我们打开 package.json文件,看见这个 name 字段了吗?它其实就对应了刚刚第二次让你确认的 package name

image.png

假设这里你迫不及待的执行了 pnpm run dev ,你会看到下面的报错。

image.png

原因非常简单,因为你回头看一下你的文件结构,你现在并没有 node_modules 文件,等于说 package.json 文件里的依赖都还是一堆字符串而已,并没有发挥它们的作用。

image.png

让我们在终端下执行 pnpm install

image.png

然后你的根目录下应该会多出一个 node_modules 文件。

image.png

此时你再执行 pnpm run dev 即可。

image.png

之后你应该会看到这提示,说明你的项目已经在 5173 这个端口上跑起来了。

image.png

我们切到浏览器看一下,端口号果然是 5173

image.png

这里假如你说十分讨厌 5173 这个数字,我看见就心烦,特别想换一个怎么办?其实非常简单,你只需要将 pnpm run dev 这个命令替换成 pnpm run dev --port 4399 即可。--port 后面跟你相跟的数字即可。

image.png

然后我想你会看到这个页面,可以看到我们的项目已经跑在指定的端口上了。

image.png

这里我需要额外再讲一下,如果你下次再次执行 pnpm run dev 你会发现你依旧跑在了 5173 这个默认的端口上。如果你想永久更改端口,其实非常非常简单。你只需要在package.json 文件修改下面的这一行配置即可。

image.png

然后你就会发现你这个项目之后都会跑在你指定的这个端口上去。

image.png

二. 使用 Prettier 约束代码规范


Prettier 官方直接复制这条命令在命令行敲出即可。

image.png

然后你只需要在你项目的根目录下,手动创建两个文件。一个 .prettierrc.json,一个 .prettierignore 文件。是的你没有听错,你真的是简简单单敲两下就可以完成 prettier 的配置。

image.png

真的,你千万不要觉得这些文件的由来是多么神奇的事情,这些文件虽然是脚手架帮你自动生成的,但是你把它们删除了,重新创建效果是一模一样的。

image.png

也正因为了如果每开启一个项目我们都需要去完成这些毫无意义的 “重复工作”,脚手架才应运而生。它帮你快速搭建了一个项目所需的基本内容,可以让你快速投入到代码的编写当中,为你节省了大量的时间才是它的意义。

首先我们打开 .prettierrc.json ,在这里我们可以设定项目格式化的一些规则,这是我们项目里常用的配置。主要限制了 1.每一行换行的宽度 2.省略分号 对象的最后一个属性自动加逗号。

image.png

(tips:这里不过多介绍其它配置,读者可以自行查阅 prettier 的文档。)

然后我们打开 .prettierignore 文件,在这个文件里你可以设置你不想格式化的文件,使用的语法规则和 .gitignore 一模一样。

image.png

你可以参考同目录下已经生成好的这个 gitignore 文件。

image.png

因为 prettier 默认是设置好忽略 node_modules 文件的,而我又不需要额外忽略其它文件,所以我这里就不需要填写这个文件内容。

然后你可以试一试,把对象后面的逗号删除,然后把分号加上,我是设置了保存自动格式化的功能,所以当我保存文件的时候,它会自动帮我格式化掉。如果你看到了效果,那么证明你 prettier 已经成功配置好了。

三.使用 UnoCSS


看过我之前文章的读者一定对我这种写法不陌生。

image.png

我们的项目里很少使用到 <Style> 标签了,因为起类名简直是一种折磨,所以我们统一采用了一种将样式写进 class 属性里的写法,初次使用这张写法也许会很不习惯。但是一旦你上手以后,就再也回不去了,不用起类名简直不要太爽!!!🍦。

我们直接到 UnoCss GitHub,去查阅相应的使用方法。在 ReadMe.md 可以找到 Installation 选项

image.png

由于我们是使用 Vite 生成的项目,所以我们点第一个 Vite 选项。

打开后我们可以看到如下的命令,直接命令行输入 pnpm i unocss 即可。

image.png

等安装好后,我们就去 vite.config 文件下引入 Unocss,并添加到 VitePlugins 选项当中。

image.png

然后在去 main.js 文件下引入。

image.png

最后一步,你可以选择一款你喜欢的预设来启动你的 UnoCss

image.png

这里是什么意思呢?在这里你需要知道,UnoCSS本身不提供任何方案,目前有很多类似于在元素标签 class 属性里写样式的方案,如我们项目里使用的 tailwindCssUnoCSS 不知道你喜欢哪一种风格所以让你进行了一个选择。这里该怎么解释呢?等你自己用的时间长了以后,你就会自己领会,在这里我只需要带你入门,我想你暂时这样理解我想应该没什么问题。

之前的那些解决方案都太重了,打包后的体检会很大。但是 Uno 在它们的基础上帮你做了一层优化,打包起来体检更轻,编译更快速。

设置也非常简单,点进去这里。

image.png

你会看到

image.png

执行 pnpm i -D @unocss/preset-uno

安装完以后打开你的 vite.config.js 文件,引入 presetUno 然后在下面的 Unocss 里完成相关设置即可。

image.png

然后我们随便创建一个简单的样式看一下生效了没。

image.png

上面的写法是,这个 <div> 标签会被设置 100px 的宽高,然后 red 的背景颜色,最后是 blue 的字体颜色

image.png

可以看到我们的页面成功展示出了我们设置的样式,说明我们已经完成了配置。可以舒舒服服的写代码了。

相关文章
|
6月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
Linux 测试技术 数据库
7步教你搞定Linux禅道系统安装
7步教你搞定Linux禅道系统安装
480 0
|
SQL 关系型数据库 MySQL
MySQL实战基础知识入门(2):统计一天24小时数据默认补0的sql语句
MySQL实战基础知识入门(2):统计一天24小时数据默认补0的sql语句
918 0
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
261404 0
|
11月前
|
数据可视化 测试技术 UED
《多模态数据信息提取》解决方案评测报告
1. **部署操作界面**:整体直观,通过点击和拖拽完成配置,但复杂配置环节界面元素密集,需优化布局;部分步骤缺乏提示信息,错误处理不够明确。 2. **部署文档**:表述逻辑清晰,引导准确,但在环境依赖和参数配置上存在不足,建议增加详细列表和示例,补充错误处理章节。 3. **函数应用模板**:简化了部署流程,但部分模板参数说明不清晰,适用场景描述不足,需完善参数说明和适用条件。
《多模态数据信息提取》解决方案评测报告
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
28312 73
|
Web App开发 敏捷开发 存储
自动化测试框架的设计与实现
【10月更文挑战第20天】在软件开发的快节奏时代,自动化测试成为确保产品质量和提升开发效率的关键工具。本文将介绍如何设计并实现一个高效的自动化测试框架,涵盖从需求分析到框架搭建、脚本编写直至维护优化的全过程。通过实例演示,我们将探索如何利用该框架简化测试流程,提高测试覆盖率和准确性。无论你是测试新手还是资深开发者,这篇文章都将为你提供宝贵的洞见和实用的技巧。
|
机器学习/深度学习 分布式计算 安全
联邦学习的简要概述
联邦学习(Federated Learning, FL)是一种分布式机器学习方法,旨在保护数据隐私的同时,利用多方数据进行模型训练。
1267 5
|
弹性计算 数据可视化 安全
高效部署企业门户网站【阿里云云效平台详细指南】
使用阿里云云效部署企业网站涉及备案域名、ECS、VPC、云效代码仓库和流水线。一键部署通过ROS快速配置,手动部署则需详细配置流水线,包括代码源、构建、部署到ECS。整个流程约10分钟,但需注意网络问题可能导致的异常。一键部署适合快速启动,手动部署适合定制化。文档详细,但可增加常见问题解答和自动化脚本支持。
高效部署企业门户网站【阿里云云效平台详细指南】