本地启动&源码修改
1. 准备工作
安装Node
参考上述文章自行在本地机器安装Node.js
测试是否正常安装,终端工具运行如下指令
node -v
建议安装Node 18
(大于等于18.16.0
版本)
Node 各版本生命周期
(可选) 切换镜像源
其中npm
是随Node一起安装的包管理工具,通过切换到国内的镜像源,有助于加快安装速度
安装nrm
(切换镜像源工具)
npm i -g nrm --registry=https://registry.npmmirror.com
查看可用源列表
nrm ls
切换淘宝源
nrm use taobao
验证是否切换成功
npm config get registry
结果是上述淘宝源即可
安装PNPM
方式1
使用 npm
安装
npm install -g pnpm
其它方式
参看 pnpm官方中文文档
验证是否安装成功
pnpm -v
2. 获取客户端源码
GitHub如果没有梯子,下载&访问可能会很慢,Gitee是国内的一个代码托管平台,速度相对快
方式1:通过GIT
确保电脑安装有Git
在终端工具适当的目录运行
# from GitHub
git clone https://github.com/ATQQ/easypicker2-client.git
# or from Gitee
git clone https://gitee.com/sugarjl/easypicker2-client.git
地址来源
GitHub | Gitee |
---|---|
方式2:压缩包
GitHub | Gitee |
---|---|
3. 启动客户端
在终端工具中,使用cd
指令定位到项目跟目录
使用pwd
查看位置
安装依赖
pnpm install
本地启动 - 使用线上test服务
后端服务使用线上测试环境的 https://ep.dev.sugarat.top
方式1 - 开发模式
pnpm dev:test
VITE v4.4.7 ready in 443 ms
➜ Local: http://localhost:5173/
➜ Network: http://192.168.1.2:5173/
➜ Network: http://198.18.0.1:5173/
➜ press h to show help
浏览器访问 http://localhost:5173/
方式2 - 预览构建后产物
页面访问速度更快
产物构建
pnpm build:test
预览
pnpm serve
浏览器访问终端给予的地址即可 http://localhost:4173/
本地启动 - 使用本地的后端服务
需要参照 4,5,6 同时启动本地的后端服务
后端服务使用本地的 http://localhost:3000
# 启动
pnpm dev
本地构建 - 修改源码
在完成客户端的源码拉取,可在(测试)开发模式下直接启动
pnpm dev:test
然后修改代码里的文案,逻辑等,保存后会直接生效
如果部署到自己的服务器上,在完成修改后执行构建命令 pnpm build
pnpm build
将会在当前目录下生成一个 dist
目录(里面即为打包后的文件)
将这个 dist 目录用作部署到自己的服务器即可,比如下面使用宝塔面板部署的示例目录
4. 获取服务端源码
方式1: 通过Git拉取
# from GitHub
git clone https://github.com/ATQQ/easypicker2-server.git
# or from Gitee
git clone https://gitee.com/sugarjl/easypicker2-server.git
方式2: 下载源码压缩包
参照客户端源码下载图示,找到下载位置
5. 启动后端服务
在终端工具中,使用cd
指令定位到项目跟目录
安装依赖
pnpm install
构建产物
pnpm build
运行
pnpm start
当然要让服务正常工作需要,在本地安装三个数据库,同时创建七牛云账号
请接着往下看
一些配置
数据库&云服务&本地服务
等相关的配置均放在了.env
文件中,如下
每个变量的释义参看源码中的 src/types/env.d.ts
通常情况下只需要关心一下
- 服务相关
- SERVER_PORT: 服务启动的端口,默认3000,无特殊需求可以不修改
- MySql相关
- MYSQL_DB_NAME: 数据库名
- MYSQL_DB_USER: 账号
- MYSQL_DB_PWD: 密码
- 七牛云相关:OSS - 文件存储,上传/下载文件依赖其提供服务
- 腾讯云相关:短信服务,不接入短信不用配
6. 安装数据库
此部分参考菜鸟教程 自行完成安装
Redis
与MongoDB
无需配置账户密码,服务端口等,保持默认行为即可
- MySQL 教程 - 存储用户数据
- 推荐使用5.x(下载地址)的版本,8.x的Node驱动存在问题
- Redis 教程 - 记录登录状态
- MongoDB 教程 - 记录运行日志
7. MySQL导入表结构数据
在简单阅读教程,并完成MySQL的安装之后
查看是否安装成功
mysql --version
初始化一个数据库
使用root
账号登录
mysql -u root -p
回车后输入密码
查看当前已有数据库
show databases;
创建一个数据库
create database ep_local_test;
导入表结构数据
选择咱刚创建的数据库
use ep_local_test;
查看当前拥有的表
show tables;
导入所需的表 其中sql文件位置
为本地的后端项目中docs/sql/auto_create.sql
的绝对路径
source sql文件位置
完成导入后再查看当前拥有的表
show tables;
到此MySQL的本地准备工作准备完毕
接下来在服务端项目中.env
环境变量中配置MySQL相关值即可
- MYSQL_DB_NAME=ep_local_test
- MYSQL_DB_USER=root
- MYSQL_DB_PWD=你的密码
有其它问题可以小群交流,方便可以加入及时交流沟通问题: 685446473