2020/03/16 02-前端路由和登录、注册组件实现

前端开发可以使用传统的jQuery方式,如果用现在的前端开发,往往用nodejs,然后做前后端开发,或者只做前端开发,纯做后端也行,nodejs现在已经通吃了

现在做前后端分离,后端用django来做,前后端分离不在乎用什么来做,只要给http接口即可,这样就是前后端独立开发各自的,项目就可以并行起来。
对于前端开发来讲,现在不是传统的方式,用react开发有它的好处。,用了前端的mvc,或者各种mvvc,mvvm各种变化,不管怎么变都是从mvc来的。

开发的方式发生了很大的变化,首先需要用脚手架来搭建出想要的东西
在这里插入图片描述
在这里插入图片描述
安装依赖包,一种是npm,一种是yarn(兼容了npm),可以这么安装yarn
在这里插入图片描述
项目的根目录有一个packge.json,将里面的依赖都安装一遍
在这里插入图片描述
现在就去下载包了

在这里插入图片描述

在这里插入图片描述
把这个一解压,就可以做前端项目了,frontend前端,静态一般都是nginx,httpd来管,动态都是tomcat,django,flask,做好动静分离
在这里插入图片描述
所有的代码写在src下
在这里插入图片描述
babel用的

在这里插入图片描述
git用的
在这里插入图片描述
npm register链接到淘宝
在这里插入图片描述
真正看到的网站首页
在这里插入图片描述
工具vscode配置
在这里插入图片描述
在这里插入图片描述
开发用
在这里插入图片描述
部署用
在这里插入图片描述
在src建立三个目录,以后就写react所有组件,react组件要继承componet或者无状态组件写一个function就好了

在这里插入图片描述
第二个service,这个跟可视化组件无关,是用来解决中间怎么服务的,这一次写的代码是分层架构

在这里插入图片描述
第三个是画样式表的
在这里插入图片描述
做模版

在这里插入图片描述
所有js入口

在这里插入图片描述
做一些信息上的变动

在这里插入图片描述
打开目录

在这里插入图片描述
index是最后进入的地方
在这里插入图片描述
先看看npm rc是否链接的是国内的

在这里插入图片描述
babel定义也是对的
在这里插入图片描述秃字符,^2.9.1就是,2.x最大的
在这里插入图片描述
这个工具,vscode用的

在这里插入图片描述
这是进入的首页
在这里插入图片描述
yarn.lock,下载了什么版本写的很清楚

在这里插入图片描述
一般进去之后,改改author之类的,name,description。
repository(git配置)。一般可以做git免密登录

在这里插入图片描述

在这里插入图片描述
开发的时候需要用到一个东西,devserver
在这里插入图片描述
devserver有很多项,这个就照这么配置即可,因为这个是牵扯到跨域的时候才用得到的
在这里插入图片描述
django现在是在后台暴露8000,这里是3000,所以以后只能让用户看到3000端口的,不能看到8000端口的
在这里插入图片描述
hmr热模块替换
在这里插入图片描述
要不要在控制台显示信息
在这里插入图片描述
显示那些信息,插入主干信息,false,不然太多信息了
在这里插入图片描述
这个压缩指的是gzip,server和浏览器之间数据可以进行压缩
在这里插入图片描述
安装依赖
在这里插入图片描述
把package.json的所有依赖都下载下来
在这里插入图片描述
在这里插入图片描述
yarn相当于npm install
在这里插入图片描述
在这里插入图片描述
要用到两个东西,跟路由相关的
在这里插入图片描述
这两个其实也可以放到package.json里,是为了提醒下

跟dom相关的

在这里插入图片描述
这两个工具有了之后就可以做前端路由

前端是需要访问后端提供的http服务,访问url,用get post请求,将数据返回前端,可以不返回真实内容,但是至少有一个状态码,让浏览器端自己通过状态码来决定如何处理

前端路由

在这里插入图片描述
在这里插入图片描述
这是官网

在这里插入图片描述
在这里插入图片描述
basic routing是先要学习的,先安装一下
在这里插入图片描述
这就是JSX一个组件
在这里插入图片描述
这个JSX相当于render函数返回一个h2
在这里插入图片描述
第一个修改的就是src的index,在这之前还可以先把目录创建出来

在这里插入图片描述
把这两个css放到src下的css目录里在这里插入图片描述
在这里插入图片描述
重新缺什么导什么
在这里插入图片描述
这样就可以使用了

在这里插入图片描述
现在项目其实可以运行的
在这里插入图片描述
现在其实已经ok了
在这里插入图片描述
看一下效果
在这里插入图片描述
在这里插入图片描述
这个项目采用前后端分离(一般用到模板技术就用不到这个了,模板里可以用jQuery放到前端什么样的目录里,可以使用前端技术)
前后端分离,前后端只靠数据来通信,所有数据放在后端(django,flask),前端放样式(react作为前端技术),
中间使用restfu份风格的api设计,来实现服务间的通信的。
用无session认证技术,JWT(一般服务器多了,用单点登录比较多的),强密码目前是最强的。
可视化组件都是蚂蚁金服开源的antd组件。
最后部署时采用动静分离的部署方案,nginx+uwsgi+django,动静分离的部署

在这里插入图片描述
这俩个可以写

在这里插入图片描述
首页关于页都是可以写的

在这里插入图片描述
页可以点击案例,basic
在这里插入图片描述
这就是前端路由,没到服务器去,这里面没有和服务器进行交互,以前点链接按照道理要跟服务器交互,服务器给你新网页的,这里点了半天,服务器没有收到请求,所有请求都是在js端前端完成的,跟服务器没有发生任何交互,表面看是做切换,但是只是在浏览器完成的,只是相当于把要的内容动态生成了。
但是要是这个填充内容确实需要来自服务器端,我们才发送ajax请求到服务器去要数据,才拿回来数据,否则做的所有事情都是在客户端点来点去

在这里插入图片描述
但是毕竟路径变了,这个路径需要配置,点了之后需要调用什么组件,做什么呈现,这又是通过一个地址对函数进行映射,所以又叫路由,叫前端路由。
这个跟后端路由不一样,后端路由是要通过http请求,将url发过去,将url和你的view函数之间建立映射关系。

在这里插入图片描述
这一块是它的路径被你的js拦截了,这个js现在找到一个现在所谓的视图函数,这个视图函数全在前端的js当中,根本没跟后台进行交互,除非有必要,根本没给服务器端发过请求
在这里插入图片描述
这两个其实是可以抄一下的
在这里插入图片描述
这个跟上面两个是无状态组件的两种写法

在这里插入图片描述
组件一定要大写
在这里插入图片描述
就变成这样了
在这里插入图片描述
我们现在想要地址的变化,然后能够访问到相当于不同的页面,这种叫单页面应用,页面时不刷新的,刷页面中的组件,dm树只替换一部分即可
在这里插入图片描述
所有右键查看源代码永远都是这么些内容,所以js加入到前端开发,整个开发方式都跟以前不一样了
在这里插入图片描述
需要前端路由组件来解决问题
在这里插入图片描述
这个路由时不可见组件

在这里插入图片描述
路由,里面些了路径=/,exact 相当于严格,路径必须等于/,这就是路径和组件的映射
在这里插入图片描述
root没有定义
在这里插入图片描述
还要抄这一句话
在这里插入图片描述
这就是路由route,link链接

在这里插入图片描述
路由外面应该套一个东西

在这里插入图片描述
route要使用要在外面套一个router在这里插入图片描述
router看起来时一个顶级元素
在这里插入图片描述
router只能有一个child

在这里插入图片描述
挪到div里,现在就等于是一个child了

在这里插入图片描述
现在就有了
在这里插入图片描述
about可以访问
在这里插入图片描述

在这里插入图片描述

要使用路由就需要,引入一个组件,操作dom,
在这里插入图片描述
使用一个router组件是来定义路由的
在这里插入图片描述
route只是一个定义,只是将路径和调用的组件定义一个映射关系,组件的变化是通过url的变化而变化。页面一直没动。我们只是在替换组件,替换dom树中该显示什么。
否则传统的页面就是点一下请求到后端,页面刷新。所以我们用react-router来完成前端组件替换

在这里插入图片描述

在这里插入图片描述
router中必须只有一个元素,所以我们在中间加了div,div元素内部有什么就管不到了
在这里插入图片描述在这里插入图片描述
地址一旦变化,组件就被替换掉了
在这里插入图片描述
其实是做了组件替换,并没有访问后端,所以对服务器的负担是非常小的

在这里插入图片描述
有一个非常著名的网站codepen,这个网站有大量的js代码可以用

在这里插入图片描述
这段html复制下

在这里插入图片描述
在项目里建一个测试用的t.html,现在其实没有样式,通过class调用外部样式
在这里插入图片描述
外部样式放在了css
在这里插入图片描述
已经放到login.css当中
在这里插入图片描述
我们要把这样的东西,装到组件里,到时候通过前端路由,然后把组件塞进去

在这里插入图片描述
创建组件,右键component,准备创建
在这里插入图片描述
这是来自react的,在这里只是创建组件,div顶层也有了
在这里插入图片描述
需要导出一下组件,缺省导出
在这里插入图片描述

要写一些东西,现在组件有了,用这样的方法就把login加进来了
在这里插入图片描述
login就有了

在这里插入图片描述
改一下文字

在这里插入图片描述
现在看看能不能加个样式,现在这样提示解析失败了
在这里插入图片描述
这里没加
在这里插入图片描述
加上css
在这里插入图片描述
需要重新启动
在这里插入图片描述
现在这样至少有点效果
在这里插入图片描述
还是用这里的模版

在这里插入图片描述
做一些调整,所有的class都要换成className
在这里插入图片描述

在这里插入图片描述
这样界面就出来了
在这里插入图片描述
改成中文试试
在这里插入图片描述
点击闪一下是因为有form表单

在这里插入图片描述
有form标签,默认行为就是要提交post请求的,提交整个页面同步刷新,等服务器response,

在这里插入图片描述
提交整个页面同步刷新,等服务器response,就会刷成这样

在这里插入图片描述
在这里插入图片描述
有些人p标签习惯不闭合,但是这里是JSX语法,要求必须闭合
在这里插入图片描述
在这里插入图片描述
a标签都要改成 link to
在这里插入图片描述
可以是一个login,一个reg,免得出错在这里插入图片描述
先把只要是用的链接都改了,现在一加就可以用了
在这里插入图片描述
改了就归路由管了
在这里插入图片描述
注册页顺便也改下,写一个reg。js
在这里插入图片描述

在这里插入图片描述
link 没有defined
在这里插入图片描述
在这里插入图片描述
大括号是不能去掉的

在这里插入图片描述
改一下classname

在这里插入图片描述
注册是跳了,但是前段路由没有管理起来,在index里没加
在这里插入图片描述
index里加一下

在这里插入图片描述
在这里插入图片描述
改一下中文
在这里插入图片描述
这个东西用户体验感觉特别好,没有和后台交换几乎是瞬间完成的,但是有时候就是模版单挑,登录到首页模版就没变过。这就是怎么把其他网页一些好的元素搬到页面里来。做一些调整,常熟市文件拿来,最后导入就可以了
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
导入出错是因为加载不了样式表
在这里插入图片描述
加在这里

在这里插入图片描述
两种写法都有可以

在这里插入图片描述
最后看到了登录页面

在这里插入图片描述
在这里插入图片描述
用前面的方法还是变成组件,随意

在这里插入图片描述
但是现在没有导航栏

在这里插入图片描述
在这里插入图片描述
导航栏其实就是有的
在这里插入图片描述
这两部分是一一对应的在这里插入图片描述
路径变化会找组件,然后组件会来渲染
在这里插入图片描述
一保存页面就能看到了

在这里插入图片描述
丑一点没事,antdesginer,再修改漂亮的
在这里插入图片描述
只要router函数是顶级元素就行,里面基层div随你
在这里插入图片描述
在这里插入图片描述
这些都基本达到了项目的构建:
首先搭建脚手架,基本不改,除非升级个别组件的版本,这一次多了三个目录,分别做不同的事情,比如
componet都放可视化组件,view,
service中间层些业务的地方,C还管一些调度的功能,从后端拿到数据,
css管样式

在这里插入图片描述
改一下配置,需要加代理
在这里插入图片描述
安装路由组件
在这里插入图片描述
组件加进来使用方式
在这里插入图片描述
官网是让我们在router内部使用route组件,route组件能帮我们实现前端路由,前端路由实现的是,前端url到组件的映射,页面变了直接换组件,页面不变
在这里插入图片描述传统页面如何变成主键跟现在的东西结合在一起,可以写JSX语法,把传统页面剥离出来即可,唯一要解决的是样式问题,
还好codepen提供了大量的东西,需要你去选择
在这里插入图片描述在这里插入图片描述
注意要把class全部换成className在这里插入图片描述
关注的链接要和路由挂钩,就要换成Link,否则路由就不管你了
在这里插入图片描述
有些非闭合标签要闭合,比如hr,br,否则会报错出来在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加到首页里加一个router
在这里插入图片描述
在这里插入图片描述
样式表加载错误,需要改一个配置文件
在这里插入图片描述
就可以看到登录页面了
在这里插入图片描述
注册组件也是一样的办法
在这里插入图片描述
加一条静态/前端路由即可
在这里插入图片描述
就实现了注册页面
在这里插入图片描述
把导航栏加上去就可以实现快速切换
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值