English | 简体中文
NiceFish(美人鱼) 是一个系列项目,目标是示范前后端分离的开发+部署模式。前端有3个版本:浏览器环境、移动端环境、Electron 环境;后端有2个版本:SpringBoot 版本和 SpringCloud 版本。
🚀🚀🚀请不要吝惜你的⭐️ Star ⭐️,星星越多,动力越足。🚀🚀🚀
名称 | 版本 | 描述 |
---|---|---|
Angular | 16.2.0 | Angular 核心库。 |
PrimeNG | 16.2.0 | 开源组件库。 |
Bootstrap | 5.2.3 | 响应式布局。 |
ngx-bootstrap | 11.0.2 | 基于 Bootstrap 的开源组件库。 |
echarts | 5.4.2 | 来自百度的图形库。 |
ngx-echarts | 15.0.3 | 基于 echarts 封装的 Angular 组件库。 |
ckeditor5-angular | 5.2.0 | 富文本编辑器。 |
font-awesome | 4.7.0 | 开源图标库。 |
注意:为了防止出现 NodeJS 模块兼容性问题,本项目在 package.json 中锁定了所有 Node 模块版本。如有需要,您可以自己测试兼容版本号(不建议这样做,因为会消耗掉大量的时间)。
打开终端,依次执行以下命令:
git clone https://gitee.com/mumu-osc/NiceFish.git
cd NiceFish
npm i -g @angular/cli
npm i
ng serve
打开浏览器,访问 http://localhost:4200/
🚀🚀🚀 中文开发者:网络原因,推荐安装 nrm 来管理 npm 的 registry。
npm i -g nrm
nrm use taobao
这时候用 npm 安装 node 模块就会使用 taobao 提供的 registry 了。
为了方便前后端分离开发,本项目提供 2 种启动模式:
与启动环境有关的配置项在 environment.* 和 angular.json 中。
执行以下命令进行单元测试:
ng test
默认使用 ChromeHeadless 执行单元测试,按照 CPU 核心数量并发执行测试用例,karmar.conf.js 配置方式参考了 VWware 的 Clarity 项目,参见 https://github.com/vmware-clarity/ng-clarity 。
代码覆盖率报告:
关于单元测试的详细使用方法,以及 Jasmine 的语法,请参考: https://angular.io/guide/testing
Angular 从 v12 开始,官方废弃了原来的集成测试工具 Protractor (量角器),本项目已经切换到官方推荐的 Cypress 集成测试工具,执行以下命令启动集成测试:
ng e2e
关于 Cypress 的技术细节,请参考: https://testing-angular.com/end-to-end-testing/#end-to-end-testing
与开发状态对应,构建模式有 2 种:
如果需要在构建产物的 index.html 中出现 <base href="/NiceFish/"/>,请在以上命令后面加上参数: --base-href /NiceFish/
注意,这里的 NiceFish 是项目名,如果你把项目名改成了其它的,请把 NiceFish 改成你自己的项目名。
请依次执行以下命令(请不要使用我的 ID ,改成你自己的 Docker 平台 ID ):
以下是用 webpack-bundle-analyzer 分析打包之后的模块构成:
看起来 CKEditor 和 ECharts 占了很大的体积,需要做一下异步加载。
webpack-bundle-analyzer 使用方法,请依次执行以下操作:
名称 | 描述 | Stars |
---|---|---|
NiceFish(美人鱼) | 这是 Angular 版本的前端界面,基于最新的 Angular 版本,使用 PrimeNG 组件库。 | |
NiceFish-React | 这是 React 版本的前端界面,基于 React 18.0.0 ,使用 PrimeReact, 定制版 Bootstrap 开发。纯 JSX ,没有使用 TypeScript 。 | |
nicefish-ionic | 这是一个移动端的 demo,基于 ionic,此项目已支持 PWA。 | |
NiceBlogElectron | 这是一个基于 Electron 的桌面端项目,把 NiceFish 用 Electron 打包成了一个桌面端运行的程序。这是由 ZTE 中兴通讯的前端道友提供的,我 fork 了一个,有几个 node 模块的版本号老要改,如果您正在研究如何利用 Electron 开发桌面端应用,请参考这个项目。 |
名称 | 描述 | Stars |
---|---|---|
nicefish-spring-boot | 用来示范前后端分离模式下,前端代码与后端服务的对接方式,已经完成了基线版本。以此为基础,你可以继续开发出适合自己业务场景的代码。 | |
nicefish-spring-cloud | 用来示范前后端分离模式下,前端代码与分布式后端服务的对接方式。 |
MIT
(补充声明:您可以随意使用此项目,但是本人不对您使用此项目造成的任何损失承担责任。)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
代码活跃度
社区活跃度
团队健康
流行趋势
影响力
:与代码提交频次相关
:与项目和用户的issue、pr互动相关
:与团队成员人数和稳定度相关
:与项目近期受关注度相关
:与项目的star、下载量等社交指标相关