config
配置文件,目前配置了反向代理。packages
工作区,放项目。public
静态资源,会原封不动的放入dist
文件夹内。scripts
脚本,目前有打包的脚本。
- 本项目采用
monorepo
的方式进行仓库的管理,基于yarn
的workspaces
。 - 请全程使用
yarn
进行操作,无论是安装依赖还是启动项目。 安装yarn
:npm i yarn -g
。检查是否安装成功:yarn -v
- 因为启用了
workspaces
,packages
目录下面模块的依赖统一提升到根目录,安装依赖时,请携带-W
参数,允许在工作空间根目录安装一个包。 例如:- 你需要添加
react
到你的生成环境依赖中,yarn add react -W
。 - 需要添加
typescript
到你的开发环境依赖中,yarn add typescript -WD
。 注意:上述添加方法会将依赖安装到根路径下的package.json
中去,如果想安装到子仓库中去,则需要执行yarn add workspace project1 add react
, 其中 project1 为子仓库的名字。
- 你需要添加
- 在
packages
下面项目的根目录中创建.env.dev
,.env.prod
,.env.mock
三个文件,分别代表开发环境,生产环境和模拟环境所使用的环境变量。 - 注意:
- 只有
NODE_ENV
,BASE_URL
和以VUE_APP_
开头的变量才能注入到客户端的代码中,详情见 Vue CLI 官网。 - 在打包成electron
时,请不要乱修改process.env.NODE_ENV
,process.env.NODE_ENV
的值只能为development
,production
或者none
, 因为最终会映射到webpack
的配置中。
- 配置
ts
别名,在tsconfig.paths.json
增加一条别名,例如:@monitor/*
,请记住这个别名。 - 配置
webpack
别名,在vue.config.js
中,找到chainWebpack
项,在config.resolve.alias
后面再添加刚刚记住的别名。 - 这样配置后,你能在本模块使用
@monitor/*
这样的别名。 - 由于采用了
monorepo
,packages
目录下面的每一个项目都需要包含一个package.json
, 这边统一将name
项改成@gefei/**
。注意:统一名称为@gefei/**
后,你能在packages
目录下的其他项目中,通过@gefei/**
直接找到这个项目,方便使用其他项目中的组件和功能。 packages
下的share
文件夹 用来存放在其他项目中都可能用到的组件或 hooks 等公共部分,为了方便,现已经配置@share
别名,你能通过@share
直接访问到share
目录。- 在
share
文件下更新了组件或hooks后,请同步更新readme.md
, 让大家知道有哪些东西能够公用。
- 根目录下面的
config
文件夹 的server.ts
用来配置proxy
。 - 每个项目的目录下面应该存在一个
api
文件夹。api
文件夹的目录应该如下:index.ts
导出该目录下的所有API;request.ts
封装axios
,导出axios
的实例;- 其他文件,从
request.ts
中拿到axios
的实例,进一步进行详细的配置,导出接口函数。
- 每个导出的接口请给定类型,放置在
types/api
文件下面。如果接口变动,请先修改对应的接口类型。 - 注意:
- 从环境变量文件中拿到例如
VUE_APP_URL_PREFIX
的变量,代表URL
的前缀,作为axios
的baseURL
。 - 如果一个项目中存在多个地址,那就需要在环境变量文件中配置多个地址,然后从
request.ts
中导出多个axios
实例,不同的接口使用不同的axios
实例。 - 反向代理就配置这个
VUE_APP_URL_PREFIX
所指的变量。
- 从环境变量文件中拿到例如
- 这样我们就能区分
dev
环境和mock
等环境了,具体用法请看项目代码。
- 总体上分为了
web
和electron
两大块。dev
dev:electron
mock
mock:electron
build
build:electron
delete
: 对dist
和dist-electron
文件夹进行删除操作。
- 所有项目的主题围绕着
ant-design-vue
的主题进行变化,ant-design-vue
提供了一系列的css变量
。 - 你能在项目的
style
文件夹下面看到一个global.css
文件, 这里面的变量同属于一个主题色,默认我们选择--ant-primary-color
,如果需要使用其他不同阶梯的颜色,自己酌情选择其他变量。 - 使用方法:
var(--ant-primary-color, ***)
- 注意:由于这些
css变量
为ant-design-vue
动态生成,并不能保证某个变量一定存在,因此var
函数的第二个参数要给上,在第一个变量不存在时,能够使用第二个颜色。
- 建议使用
Prettier
进行代码风格的统一。 - 在
VScode
中安装插件Prettier
。 - 项目根目录已经建好了
prettier.config.js
, 确定格式化的风格。 - 如果你不想在保存时自动格式化代码,可以打开根目录下的
.vscode
文件夹, 找到settings.json
下的editor.formatOnSave
项,改成false
,针对.vue
文件,找到[vue]
项,将editor.formatOnSave
改成false
。 - 如果修改了配置文件,请让
git
忽略掉settings.json
。
- 切换到
Vue3
开发,需要将VScode
中Vetur
禁用掉,同时安装Volar
。