为什么我选择Ant Design Pro脚手架_ant design vue pro 好用吗-程序员宅基地

技术标签: 前端进阶  前端  

为什么我选择Ant Design Pro脚手架

首先先来谈谈Ant Design Pro脚手架好处:

初始化操作简单!
启动脚手架方便!

任何一种语言和框架,满足以上两点,肯定会得到很好的推广(比较大家都想提高产品开发效率啦,嘻嘻!)
准备工作
由于国内网络和前端的特殊性,在安装依赖等方面可能会失败或导致无法启动,浪费大量的时间我们推荐如下的技术栈来帮助我们顺畅的开发。
首先我们要找到一个好用的包管理器,
Node程序包管理器
Node程序包管理器提供了两个主要功能:

  1. 它提供了可在search.nodejs.org上搜索的node.js软件包/模块的在线存储库。

  2. 它还提供了命令行实用程序,用于安装Node.js软件包,执行版本管理和Node.js软件包的依赖关系管理。

在v0.6.3之后的版本中,npm与Node.js可安装程序捆绑在一起。 您可以通过打开Node.js命令提示符并键入以下命令来检查版本:(所以,安装一个node.js就方便得很)

使用npm安装模块
以下是安装任何Node.js模块的语法:

npm install <Module Name> 

当然啦,安装node时候让我也会顺便安装一个著名的Node.js Web框架,称为express:

npm install express 

图片来自于网络,如有侵权请联系删除
呐!这个是官网首页上的文字,快速,开放,极简化的web开发框架。

全局安装与本地安装

默认情况下,npm在本地模式下安装依赖项。 在此,本地模式指定存在Node应用程序的文件夹。 例如,如果您安装了Express模块,它将在安装Express模块的当前目录中创建node_modules目录。
您可以使用npm ls命令列出所有本地安装的模块。

打开Node.js命令提示符并执行npm ls。
ls就是查看当前,当然啦,你也可以自行了解一下ls与LL的区别。

全局安装的软件包/依赖关系存储在系统目录中。 让我们使用全局安装来安装Express模块。 尽管也会产生相同的结果,但是模块将在全局安装。

打开Node.js命令提示符并执行以下代码:

npm install express -g 

卸载模块
如果我不想使用这个框架,当然啦,你也可以进行卸载。
要卸载Node.js模块,请使用以下命令:

npm uninstall express 

搜索模块

npm search express命令用于搜索Express或其他模块。
npm search express 

当然啦,官方是推荐使用 tyarn 来进行包管理,这样可以极大地减少 install 的时间和失败的概率,并且完全兼容 npm。
如果喜欢使用 npm 而不是 yarn,可以使用 cnpm, 安装速度比 tyarn 更快,但是与 npm 不是完全兼容。
Terminal
非 windows 用户没什么好说的,iTrem2 和 my zsh 是最强选择。
对于 windows 用户而言,bash on linux 是最好的选择,但是可能会造成一些性能问题。这里推荐使用 Windows Terminal 和 Powershell。Windows Terminal 可以直接在微软商店中下载,美貌与实力并存,不逊于 iTrem2,微软官方维护品质也值得信赖。Powershell 是 window7 以来内置的命令行工具,被 linux 常使人称赞为不那么烂的命令行。并且可以配置 posh-git ,能的到部分 zsh 的能力。
配置好后效果图片来自网络,如有侵权请联系删除
提供了 create umi 来快速的初始化脚手架。

# 使用 npm
npx create umi
# 使用 yarn
yarn create umi

create umi 提供了丰富的选项来满足不同用户的脚手架需求,我们可以选择开发语言 JavaScript
也可以选择是否获取全部区块。complete
脚手架初始化成功之后就可以开始进行开发了

start
npm和yarn 根据实际情况来启动。
要想尽快上手,最直接的办法就是看代码了。
在这里插入图片描述
你要先知道,数据流向是怎样的,然后再理解项目,再进行项目入手。不然知识不成体系,那将不成体统。

看到 login/login , 这是react-router组件跳转的方式,payload是参数,这里的login/login跳转到哪里?前边的login代表着model,也就是src/models目录下的models。

handleSubmit = (err, values) => {
    
  const {
     type } = this.state;
  const {
     dispatch } = this.props;
  if (!err) {
    
    dispatch({
    
      type: 'login/login',
      payload: {
    
        ...values,
        type,
      },
    });
  }
};

具体是怎么关联的呢?在src/common目录下的router.js文件中设置:

'/user/login': {
    
component: dynamicWrapper(app, ['login'], () => import('../routes/User/Login')),

接下来是models 目录下对应的那个js文件
在这里插入图片描述
组件间数据的流向就跟清楚了,要想明白具体是怎么实现的请先学习 react,react-router ,redux

学完这些,上边的流程自然就能明白是啥意思了。
在这里插入图片描述
对了,具体path路径是在这里,有专门的的config.js文件夹。

剩下的就是怎么获取后台数据了,


const response = yield call(fakeAccountLogin, payload); 
 使用call(function,param)和获取后台数据,
 fakeAccountLogin是方法,定义在service文件夹下

简单的export是这样的:

export async function fakeAccountLogin(params) {
    
  return request('/api/login/account', {
    
    method: 'POST',
    body: params,
  });
}

ant design pro 采用dva框架进行管理,所有你要到根目录找到mock 文件 ,看到:

POST /api/login/account': (req, res) => {
    
 //
}

这个是放API的地方。
最后单页面展示是这样的。
这样,我们就简单的完成了利用Ant Design Pro脚手架来构建一个前端表单页面。
在这里插入图片描述

## 不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯分享时的吝啬。

(偶尔一点小小打赏也是对创作者的激励,打赏机制个人认为这个肯定是自愿原则,谢谢!点个赞也是对作者的奖励,不啦不啦,嘿嘿。)

每天一句中文式外语

日语

爱してる(阿姨洗铁路)  我爱你
さようなら(撒油拉拉) 再见
こんにちは(恐你骑娃) 你好
だいじょうぶ(大衣胶布) 没关系
忘れないけど(我死啦那你开刀) 勿忘我
くどうしんいち(滚筒洗衣机) 工藤新一
おはよう(哦哈哟) 早上好
ありがとう(阿丽牙多) 谢谢
ただいま(他大姨妈) 我回来了
にほんご(你哄哥) 日语
まだまだ (马达马达) 你还差了点儿
そうが (索噶) 这样啊!!
ばか (八嘎) 傻必
なに (哪里) 什么
よかった(有卡大) 太好了

はじめまして,どうぞよろしくおねがいします
(哈机梅妈西忒,豆揍有楼西骷呕内旮一喜妈死)
初级见面,请多指教
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42677762/article/details/108875240

智能推荐

通过treewidget的拖放实现组管理功能(启用拖放功能的时候判定接收拖放的treewidgetitem是否为顶层节点)_qtreewidget判断拖入的结点是中间还是下面-程序员宅基地

文章浏览阅读676次。我实现的效果如下图所示:qtreewidget控件本来就能实现拖放功能,但由于默认的功能是任意节点都能拖放后成为其他节点的子节点,和我的需求有点差距。我的需求是能tree只有2列,第一列为组,第二列为组内成员。拖放的时候,只能把组内成员拖动到任意组内,但不能成为成员的成员。因此我继承了一个qtreewidget,源码如下:mainwindow.h#include <QMainW..._qtreewidget判断拖入的结点是中间还是下面

VS2019:intellisense的一些设置_vs2019 intellisense-程序员宅基地

文章浏览阅读3.1k次,点赞2次,收藏2次。1、没有自动错误检测intellisense 重启2、选中变量后,相同字段高亮显示设置-突出显示的引用-无效,管理拓展 highlight all occurrences of selected 编辑-selected color--change color3、源码自动翻译comment translate4、回车选中 自动补全工具 -> 选项 -> 文本编辑器 -> C/C++ -> 高级 -> 主动提交成员列..._vs2019 intellisense

转行前端自我学习记录——freecodecamp项目实践小结_freecampcode刷完什么水平-程序员宅基地

文章浏览阅读1.2k次。这周花了大部分时间来做freecodecamp(fcc)里面的两个项目,都是比较初级的,主要是静态页面设计,做完发现一个真理:书到用时方恨少,零散的知识点想要串起来,需要大量的实践及经验,就如同武侠小说里的武林秘籍,零散的招式学会了,依然成不了天下第一,只有融汇贯通,达到无招方是境界。做完两个页面,得到几点之前没怎么掌握的知识点:1、字体粗细的属性font-size,可以用具体数字表示属性值,_freecampcode刷完什么水平

7-9 公路村村通(30 分)_现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成-程序员宅基地

文章浏览阅读8.2k次,点赞11次,收藏42次。题目链接 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。输出格式:输出村村通需要的最低成本。如果输入数据不足以_现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成

机器学习---结课论文_机器学习课程论文-程序员宅基地

文章浏览阅读4.1k次,点赞4次,收藏58次。机器学习与隐私保护结课论文摘 要:随着大数据时代的到来,时间序列数据在各个领域被广泛应用。然而,如何在利用这些数据的同时保护用户隐私成为了一个亟待解决的问题。本文回顾了时间序列数据的基本概念及其在机器学习中的应用,并总结了当前面临的隐私保护问题及已有的解决方案。接着,分析了这些解决方案的不足之处,并提出了新的隐私保护方法。最后,展望了未来研究方向。本文旨在为时间序列数据的隐私保护提供一个全面的概述,为未来相关研究奠定基础。关键词: 时间序列数据;机器学习;隐私保护;差分隐私;安全多方计算;_机器学习课程论文

SpringBoot整合swagger-程序员宅基地

文章浏览阅读80次。创建Swagger配置类,定义接口描述基础信息修改DeptRest程序类使用Swagger进行接口描述

随便推点

Python代码编译成二进制文件_将python项目编译为二进制-程序员宅基地

文章浏览阅读8.8k次。参加MIREX比赛,提交说明里多次提到二进制文件,当时不明白到底需要提交什么样的文件,最后就把源代码文件提交上去了。今天研究了一下,发现其实很多时候我们并不想让别人看到我们全部的代码细节,所以有其他的方案进行提交,比如将py文件编译成pyc文件。在python中import py_compilepy_compile.compile(path)就可以将需要编译的py文件编译成pyc文件。pyc文件就_将python项目编译为二进制

Windows 下进程之间的通信(IPC)-管道_windows管道通信最大字节数-程序员宅基地

文章浏览阅读6.7k次,点赞5次,收藏23次。Windows下进程之间的通信—管道进程间的通信(IPC、InterProcess Communication)是指在不同的进程直接传播或这交换信息。IPC常用的通信方式有:管道(包括匿名管道 和命名管道) :匿名管道只能在本机上的父子进程之间通信,而命名管道不仅可以在本机上实现两个进程间的通信,还可以跨网络实现两个进程间的通信 。消息队列信号量共享存储SocketStreams..._windows管道通信最大字节数

【毕业设计】Java基于微信小程序的共享充电桩系统_java 充电桩程序流程-程序员宅基地

文章浏览阅读1.1k次,点赞22次,收藏28次。今天带来的是基于微信小程序的共享充电桩系统,共享充电桩微信小程序的推出具有重要的意义。首先,它可以提高充电桩资源的利用率。由于充电桩资源分散且使用效率低下,很多时候充电桩处于闲置状态,造成了资源的浪费。_java 充电桩程序流程

Python自动化办公:word文件操作教程_python-docx-程序员宅基地

文章浏览阅读1k次,点赞22次,收藏22次。1、打开/保存文档python-docx可以打开一个新的文档,也可以打开一个已有的文档并对它进行修改。document = Document() # 创建一个Document对象,同时也会创建一个空白文档document.save('实例.docx') # 保存文档document = Document('数据.docx') # 打开名为数据的word文档document.save('实例.docx') # 保存文档。_python-docx

图像标注-自动标注图像_图片数据自动标注-程序员宅基地

文章浏览阅读4.1k次。常见的图像标注工具有Yolo_mark,labelImg,以下两篇文章是对这两款工具的说明Yolo_mark使用教程labelImg标注图像深度学习图像标注工具汇总这里需要提供另一款标注工具—百度物体检测模型,不同于以上的标注工具,百度提供的物体检测模型在标注一定数量(100张)后,提供智能标注功能,可以对数据集中的其他图片自动标注,详细介绍确认百度自动标注结果后可以将数据集..._图片数据自动标注

文件共享服务 配置文件服务器-程序员宅基地

文章浏览阅读2.4k次,点赞3次,收藏10次。访问共享资源困难更改用户密码繁琐不适合规模较大的网络资源集中放置在服务器(Server)中用户直接访问服务器获取资。_文件服务器

推荐文章

热门文章

相关标签