广而告之

欢迎加群交流&吐槽 💐

Skip to content

注意事项!!

线上部署,请先按照 线上部署文档 操作

如果要修改已经部署在线上网站的部分内容(文案,图片,逻辑等),可参阅文档(请赖心阅读 1-3 部分内容)

本地启动&源码修改

1. 准备工作

安装Node

参考上述文章自行在本地机器安装Node.js

测试是否正常安装,终端工具运行如下指令

shell
node -v

建议安装Node 18(大于等于18.16.0版本)

Node 各版本生命周期

数据来源:https://github.com/nodejs/Release/blob/main/README.md

多版本管理可以使用 nvm 或者 fnm

(可选) 切换镜像源

其中npm是随Node一起安装的包管理工具,通过切换到国内的镜像源,有助于加快安装速度

安装nrm(切换镜像源工具)

shell
npm i -g nrm --registry=https://registry.npmmirror.com

查看可用源列表

shell
nrm ls

切换淘宝源

shell
nrm use taobao

验证是否切换成功

shell
npm config get registry

结果是上述淘宝源即可

安装PNPM

方式1

使用 npm 安装

shell
npm install -g pnpm

其它方式

参看 pnpm官方中文文档

验证是否安装成功

shell
pnpm -v

2. 获取客户端源码

GitHub如果没有梯子,下载&访问可能会很慢,Gitee是国内的一个代码托管平台,速度相对快

方式1:通过GIT

确保电脑安装有Git

在终端工具适当的目录运行

shell
# from GitHub
git clone https://github.com/ATQQ/easypicker2-client.git

# or from  Gitee
git clone https://gitee.com/sugarjl/easypicker2-client.git

地址来源

GitHubGitee

方式2:压缩包

GitHubGitee

3. 启动客户端

在终端工具中,使用cd指令定位到项目跟目录

使用pwd查看位置

安装依赖

shell
pnpm install

本地启动 - 使用线上test服务

后端服务使用线上测试环境的 https://ep.dev.sugarat.top

方式1 - 开发模式

shell
pnpm dev:test

启动后输出日志

sh
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 - 预览构建后产物

页面访问速度更快

产物构建

shell
pnpm build:test

预览

shell
pnpm serve

浏览器访问终端给予的地址即可 http://localhost:4173/

本地启动 - 使用本地的后端服务

需要参照 4,5,6 同时启动本地的后端服务

后端服务使用本地的 http://localhost:3000

shell
# 启动
pnpm dev

本地构建 - 修改源码

在完成客户端的源码拉取,可在(测试)开发模式下直接启动

sh
pnpm dev:test

然后修改代码里的文案,逻辑等,保存后会直接生效

如果部署到自己的服务器上,在完成修改后执行构建命令 pnpm build

sh
pnpm build

将会在当前目录下生成一个 dist 目录(里面即为打包后的文件)

将这个 dist 目录用作部署到自己的服务器即可,比如下面使用宝塔面板部署的示例目录

4. 获取服务端源码

方式1: 通过Git拉取

shell
# 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指令定位到项目跟目录

安装依赖

shell
pnpm install

构建产物

shell
pnpm  build

运行

shell
pnpm start

当然要让服务正常工作需要,在本地安装三个数据库,同时创建七牛云账号

请接着往下看

一些配置

数据库&云服务&本地服务等相关的配置均放在了.env文件中,如下

每个变量的释义参看源码中的 src/types/env.d.ts

通常情况下只需要关心一下

  • 服务相关
    • SERVER_PORT: 服务启动的端口,默认3000,无特殊需求可以不修改
  • MySql相关
    • MYSQL_DB_NAME: 数据库名
    • MYSQL_DB_USER: 账号
    • MYSQL_DB_PWD: 密码
  • 七牛云相关:OSS - 文件存储,上传/下载文件依赖其提供服务
  • 腾讯云相关:短信服务,不接入短信不用配

6. 安装数据库

此部分参考菜鸟教程 自行完成安装

RedisMongoDB无需配置账户密码,服务端口等,保持默认行为即可

7. MySQL导入表结构数据

在简单阅读教程,并完成MySQL的安装之后

查看是否安装成功

shell
mysql --version

初始化一个数据库

使用root账号登录

shell
mysql -u root -p

回车后输入密码

查看当前已有数据库

shell
show databases;

创建一个数据库

shell
create database ep_local_test;

导入表结构数据

选择咱刚创建的数据库

shell
use ep_local_test;

查看当前拥有的表

shell
show tables;

导入所需的表 其中sql文件位置为本地的后端项目中docs/sql/auto_create.sql的绝对路径

shell
source sql文件位置

完成导入后再查看当前拥有的表

shell
show tables;

到此MySQL的本地准备工作准备完毕

接下来在服务端项目中.env环境变量中配置MySQL相关值即可

  • MYSQL_DB_NAME=ep_local_test
  • MYSQL_DB_USER=root
  • MYSQL_DB_PWD=你的密码

有其它问题可以小群交流,方便可以加入及时交流沟通问题: 685446473