00:00
来,诶下面呢,我们把这个上古主生项目,哎,把它先能看到首页啊,先跑起来,在这个里边呢,我们先来创建一个文件。先创建一个主主文件啊,稳点够。我们整一个package。们同样,哎,我们这里边呢,哎,先把这个入口先给他写上是吧。哎,同样我们这一块呢,需要有一个这个呃处理器对吧,呃处理器,那这个处理器呢,我们要去首页。啊,就首页啊,我们就在这,这个我先看到那个页面啊,其实呢,我们可以直接去去首页,直接去首页呢,因为首页里边涉及到了数据库里边所有的图书,所以你需要查数据库,所以这块呢,我们不能按其他页面来处理,我们不能直接打开这个页面,直接打开页面里边那些图书呢,我就查不着了,诶以我们现在来说没问题啊,因为里边都是写死的,那后期呢,我们需要改里边那个改页面,把里边的那些图书呢都变成数据库软图书,所以呢,我们这块啊,这个先在这写一个处理器,那后期呢,我们再改啊,我们再改,嗯,来写一个这个处理器函数,比如那什么index吧,Index,一个handler。
01:13
就是我要去首页的一个处理器啊,处理首页的一个处理器,WHDB,点一个response writer。R星HTB点一个request request。在这,哎我要去首页的话,是不是这个得用那个我们刚刚说的模板引擎,然后去这个首页了,对吧?哎去首页了,所以呢,这一块哎我们干什么呢,来什么呢?解析。模板。用这个。HTDB,哎,不是template,先写一个,呃,T等于template,点一个must,哎,调一下这个must方法啊,然后这个先保存一下啊,Template我们就这个异常让他帮我们处理了啊,点了一个什么呢?Pass files括号里边来一个index,点一个HTML。
02:10
好,嗯,就是这个好,下面呢,直行直行。T点一个。Cut啊,里边呢,W这里边呢,我们什么都不传,什么都传,哎,直接先看到这个页面,好,下面呢,我们来写这个。我们为了不让他有这个错啊。Index handler,我们能去首页好。来里边写这个处理请求的一个。调一个方法HTTP。来一个。Kind里边我们就写一个,比如写一个index吧,或者是ma啊,写个ma。逗号,Index handler。
03:03
好,下边呢,给路由HTB点一个listen and。四。你怎么没有这个方法了?啊,写错了是吧,Listen and。8080逗号牛保存好,写完写完,哎,现在啊,我们先看一下能不能去这个首页栏右键。斜杠。慢点,Exe。好,来访问一下斜杠面,取一下手印。看一下首页是什么样子啊。来,再打开一个local house的8080斜杠。你怎么报错了?
04:03
看一下啊,报的这个座。啊,我这个路径写错了是吧,应该是一个waves下的index点对吧,哎,这个啊,路径写错了啊路径写错了,嗯,来啊,重新来。够够的,慢点够。De。来刷新。诶来到这个首页了啊,来到首页了,那来到首页之后啊,我们要实现的是什么呢?这个哎,我是不是要这个点登录,然后实现这个登录注册功能呀,哎,我们之前啊,诶这个你看啊,现在点登录呢,诶登录不过去了,诶404它已经not放了,找不到这个页面,诶那为什么找不到这个页面呢。我这个页面是不是明明有啊,对吧,不是在这个page里边吗?哎,有个user啊user啥的这块呢,就涉及到了这个,哎,我们这个go啊,它处理这个静态资源的这个问题了,那现在呢,我们是直接想去访问那个配HTM页面,就是静态页面,诶不想什么呢,像后台这个服务器直接比如。
05:16
有一个这个处理器函数啊,在里边再执行一些其他的操作,我们现在就想直接打开这个页面,所以呢,在这块呢,Go是怎么来处理这些静态静态资源的呢?你比如首页这块啊,其实我们引引入的这个csi样式这块,哎,我们这个呃,等将来打开了这个页面之后呢,这个CS样值它也是会出错的,也是会出错的这个CCSS样式啊,那这个问题怎么呃怎么来处理呢?你看我这个首页。现在访问它啊,这个没问题啊,比说我要打开里边这个页面之后呢,里边这个CS钥我们也也都需要处理一下,诶对,那这个现在打不开这个登录页面,那这块怎么办呢?就涉及到我们这个呃购物处理静态资源了,我们这个文档上面啊也给大家说了怎么来处理,其实就用两个呃函数就可以了,我们来看下最后的这个啊最后一章这块处理静态,静态文件,对于什么atml页面中的CSS,诶或者是GS等这个静态文件需要使用什么呢?也是HT包下的,诶这下的,哎这个函数,哎这个函数这是干啥的呢?就去前缀的,比如你发的那个请求。
06:17
哎,如果以什么什么开头的,哎,那这个请求呢,我本来没有这个处理器来处理,你比如我想打开我这个文件系统里边某一个这个文件的时候呢,你可以来用一下它啊,就是我们调一个这个handle度方法里边呢,我们写一个哪一个这个文件,它的一个前缀就那static,你像这个JS跟CSS,哎都在我们这个static这个文件目录下,那你在点开它的时候,肯定就是以static开头的,那以static开头呢,我们就可以写一个,哎这个在处理斜杠static这些这些请求的时候,我我调用什么什么处理器来处理,这样就行了啊,这样就行了,哎,所以呢,我们来先来看一下啊,看一下这里边写的这是这一个啊strip fix这个函数,哎,我们先不要管它啊,先不要管它这个是干啥的呢,这就是这个,根据你前面传的这个,就是第一个值呢,我可以把这个,呃,前面这个给你去掉,前桌给你去掉,然后呢。
07:11
调用这个后边这个handle登了这个处理器来处理,也就是说比如说你这块这个斜杠是什么static,哎,Static斜杠哎什么什什么后边的就不管了,就管这个前缀,如果你的这些请求是以它开头的,那我就调后边这个handle德了这个处理器来处理,哎就是只要是以这个这个开头的这些请求我都调用后边这个处理器来处理,那我们现在你像我要访问一个静态页面,实际上我是不是想告诉这个,呃,让这个服务器去这个这个配置私下的这个user,私下去找那个log一点下面页面啊,对吧,想让他直接找这个页面,所以呢,这块你得配置一下,诶你在呃服务器端需要配置一下,这不像我们这个,你像其他的语言啊,你像这个呃,比如账va Java里边这个,我把一个这个动态的工程部署到服务器上之后呢,这些页面什么都在服务器里边呢,你发一个请求,它就自动的静在里边找了,那现在我的这个配一下这些请求怎么来处理,也就是由我们比如配这个处理静态资源,把这个csi样式也是一样的,也是一样的,我们现在比如这个右键查看源。
08:11
开门。查看,嗯,远点吧,你就点一下这个static CS,现在这个static CS可以打开,对吧,也可以打开,那我这个。Man,我这怎么能打开呢,应该不能打开啊。我是不是还没有处理啊。这些。啊,这些图片都可以打开对吧。那不对呀,我这。还没有设置呢呀。Man。然后这里边儿啊,只是来到这个页面,其他的我还没有。我还没有处理呢,它怎么能打开呢。
09:02
啊,我在这个我再运行一下啊。重新来一次,慢点一个exe啊,不是不能这样啊。斜杠慢点一个。慢点exe是不是我浏览器缓存的事啊。回来啊,刷新一下。好,我们换个浏览器啊,CTRLC。来找一个,我这有有有火狐吗。我用二级用这个微软默认的。哎,对啊,哎就这样啊,这这是这个正常的一个情况,图片什么的,哎都找不到,没有样式啊,没有样式,那这个呃,为什么呢。为什么没有钥匙呢?因为我现在对于一个CSS,还有这个静态资源,包括这个email什么啊,我们还没有进行一个处理啊,还没有处理,那针针对这种问题怎么办呢。
10:01
再刷再刷出不来啊,出不来对,那对于这种问题怎么办呢?我们需要来这个设置一下,怎么来处理这些像GS啊,还有CSS这些静态资源,那怎么处理呢?就是用哎我们这个哎这个函数啊,Strip perfect哎去前缀,还有下边这个few few serve这个函数,也就是我现在这个页面,哎在哪个目录下,哎你这直接或者是我CSCSS这个配置这个样式文件,包括G文件在哪个文件下,你自呃这个自己去找他啊,自己去找他,然后我们来先看一下上面这个strip project这个函数吧,它会返回一个处理器,诶同样啊,它会返回一个处理器,也就是只要以我这个第一个参数指定的这些,呃,开头的这些请求,我都会调用后边这个处理器来处理啊,来处理啊,前面这个呃,该处理器会将请求的URl.pass就是字段给定那个前缀的去掉,也是去除后再交由后边这个H来进行处理,那我们一会呢,就需要配一下,因为呢,你要点的那个CSS啊,还有GS啊,它就是以S开头的。
11:02
所以呢,我们就来这个通过它来处理一下啊,处理一下后边这个F,呃,Server这个函数是干啥的呢?呃,它会返回一个使用这个few system接口,这个root提供的文件访问服务的一个HTP处理器,就说白了就是我们访问某一个文件啊,访问某一个文件也要使用什么操作性的一个F接口来实现,可使用这个HTP点一个DR,就是那个目录的啊,什么directory那个目录的一个缩写啊,目录的一个缩写,那这块呢,同样啊,这都是这个从我们这个官方文档上面,哎。剪切过来的啊,剪切过来的我们也可以点开它啊,找到我们这个net,我们去官方文档也看一下。找到我们这个ne。找一下我们那个feel server那个函数。我们可以看一下啊。Feel。哎,在这啊few server,哎,返回一个使用它,哎而且下边他也举了个例子啊,比如这块hb.handle哎这块就是斜杠,哎斜杠然后呢,H点呃f server里边呢,就传一个H堆点呃Di,也就是说你要是访问它的话,蜘蛛呢,你去这个斜杠tab去这个里边去找,去这个里边去找,里边传一个这个路径啊传一个路径好,那现在呢,我们这块诶需要配一下这个CSS,诶CSS样式。
12:25
我们现在的这些CSS是比如比如就是以static开static开头的,或者这下边的这些,呃,图片啊等等啊,都是去这个这些去image去找,这个去CS里边去找,然后GS呢,去这个script里边去找,那前面呢都有一个前缀是static,所以呢,我们就可以把它们通通都配一下,当然呢,这块啊,因为我们这个是在首页里边呢,Index里边呢,你可以写这个绝对路径,比如加个斜杠也是可以的啊。因为他在首页里边写这个相对的也是可以的啊,也是可以的,好,那我们现在呢,就来哎,设置一下啊,处理一下这个静态资源。呃,设置,呃处理这个静态资源。
13:03
HTTP。怎么HTTP点一个handle handle前面,哎,这个地址斜杠sta。就是以static开头的这些,哎,凡是以static开头的,我就交交给下边这个处理器来处理,那下边这个处理器,诶怎么来这个创建呢,就是用我们这个用这个函数了。去牵缀这个函数,嗯呃stripx,因为呢,它会返回一个handler,也是会返回一个处理器,返回一个处理器,所以呢啊,它是一个处理器啊,直接调这个函数,它的返回值就是一个处理器,那这里边你就指定呃指定一下这个呃前缀,就把那个前缀就给你去掉了,就去掉了,就去用你后边这个handle了,后边这个handle了,我们就用这个few server,哎f server来实现了,诶你这个通过这个HB点一个f server里边传一下那个去哪个目录下去找这个对应的文件就可以了,而且下面我们也举了个例子啊,比如在这块有个例子我们来看一下。
14:02
如这个,我如果要这样写ht.handle static逗号ht.strip也就是说我当我要访问以这个static这些开头的,因为这个后边加个斜杠,就是只要它开头后边后边的就不管了啊,后边都会能匹配的的啊,我会调用什么呢?呃,去这个views static这个目录下去找对应的资源,哎,那我们现在这块呢,就是这个样子,哎,在这个views里边有个static,所有的这些csd还有script都在这个目录下,所以呢啊,我们就这样配一下,那就没问题了啊,这样配一下就行了,所以呢,来继续写了啊,后边的这个处理器,哎,用的这个是HTTP点一个。Strip前面呢,哎,同样跟这个一样了,哎,我要访问它的时候。我要把这个static给它去掉,给它去掉。那后边后边交给后边这个处理器来处理,那后边这个处理器呢,HTTP点一个。
15:01
Server,哎few server,哎f server里边呢,就是你这个处理它的时候要去哪个哎目录了,要去那个目录了,哎是这个tdp点一个什么呢。DRDR括号里边就是这个具体的一个目录了啊。两边数具体怎么了?好哎,那这里边我们这个看一下啊,Static应该是views。下的带有前面多了一个这个views。斯带迪哥斯迪哥。好,哎就是这样啊,就是这样,哎跟我们这个word上边,哎这块,哎说的哎是诶类似的啊类似的,我这个处理静态资源,静态资源在这个views里边,然后呢,去views下的一个sta去找,去找就可以了啊去找就可以了,就是下边也有说明啊,它会匹配它开头这个开头的这个路径啊,不是开发的了,开头这个路径,哎当浏览器请求这个index页面中的这个呃,Style style.csi文件,因为这个路径呢,是带一个什么什么什么,你你发的这个请求啊,那浏览器要去找这个文,找这个CSS文件嘛,他引用引用的这个样式,所以呢,这个前缀会被替换为这个,呃,Views static他就去这个s static里边呢,哎就去找这个Sta.CSS了,那我就可以来找到这个对应的资源了,那同理,你要去找这个登录页面也是一样,那登页面都是以pages,哎,Pages那些开头的,诶所有的页面都在pages里边,哎,有的静态文件都在static里边,所以这个时候呢啊,你就可以把那个给写一下了啊,把那个给写一下了好啊。
16:34
好,我们把这个写上啊,写上之后呢,我们来测试一下啊,这是处理静态资源。哎,再说一下啊,这个呢,是你要处理的这个请求的路径呢,你可以认为是一个前缀,因为它匹配斯sta啊,后边不管是什么啊,这些所有的都匹配,哎跟我们这个第一个写的,比如写了个斜杠,哎,你这个访问根目录可以,你访问一个斜杠hello可以访问hello word也可以,那这个呢,你如果写个sta后边加个斜杠,你访问这个sta可以访问sta后边的hello可以什么sta斜杠后边hello word也可以,也可以就是这块啊然后呢,我们需要把这个前缀给去掉,就是当你这个呃去找CSS主,因为你根据这个呢是找不到的,找不到的哎,我需要把这个前缀去掉,然后干什么呢?诶交给下边后边这个处理器来处理这个处理器,诶是干啥的呢?是呃,我就去找这个对应那个文件了,去Windows一下,这个就不用要了啊,去Windows一下,嗯,Static里边去找对应的这个,比如CSS后边就能找到这个对应那个CS这个文件了。
17:31
好啊,这是这一块啊,这是处理静态资源,静态资源其实就是掉了这个两个函数,一个是strip啊prex,还有一个这个feel serve few serve,好,那这个写完之后呢,我们来再试一下。看我们写的对不对啊,CTRLC。Go。Build,慢点,Go build又写错了是吧?
18:01
好,来。好了啊,运行了,那我们来刷新一下,我们这个慢啊。诶好,诶这就没问题了啊,这就没问题了,所以呢,之前那个我们测的是那个谷歌的缓存的问题啊,缓存的问题,现在呢,这个就就没有问题了,就可以看到了,然后呢,你右键这个查看源,查看源的时候就查看源代码的时候,这里边没办法查看源代码啊。这个浏览器浏览器。我怎么能看我的源代码呢?查看元素啊。残酷元素,现在怎么你没有那个舒服啊,是吧?点不了啊。对这个浏览器没有用过啊。查看员。查看员查看,这不都一样吗?没有查看源代码啊,那就以这个,我还是以这个了啊,诶我们现在已经已经没问题了啊,没问题了,我们来右键查看源代码,查看源代码之后呢,你来看,你现在点它的时候,我们再说一下我们刚刚写那个的啊,你点它的时候,你来看这个路径是不是什么,带个什么什么对吧?所以呢,哎,我们写的那个就是处理这个问题的,我把前面这个前缀呢给它去掉,去掉最终干什么呢?去views下的static里边去找CSS下的这个输入,然后再找style.css所以它就能找到它了啊,它就能找到它了,好,那现在呢,我写完它了,写完它之后呢,我们来看啊,那么现在点登录。
19:35
点登录是不是还是去不了对吧,登录这个请求not放他妈去不了,那你说这个时候我该怎么办呢。诶,这是不是就是以配字开头了,对吧?哎配开头,然后呢,去对应的这个页面了,好,那现在我这个该怎么处理啊。是不是再加一个它呀,诶是不是改一下就可以了,对吧,那这个改成一个,然后这块把page去掉。
20:04
哎,最后呢,我是不是要去wills下的配。诶对吧,就前面有一个目录啊,我S下的一个配好啊,保存一下在这块啊在这块诶好,我们把这个加上之后呢,我们再来看,就是去指定那个页面,比如处理静态资源这块给你写一下啊什么呢?呃,如。因为我们这个在不同的目录啊,如果你要放一块就没问题了,有什么呢?诶ciss,嗯和这个什么的GIS文件,那下面这块呢,就是去这个呃,直接去指定的一个HTML页面,也不通过我的什么呢模板引擎了,诶直接就去指定一个页面,呃直接呃去什么呢?HTM面页面,诶不需要通过这个什么引擎才才能到达那一块,因为我们这个去首页就是通过这个引擎啊,通过引擎然后去首页,现在呢,我们想直接去不需要通过这个引擎了,直接去这个at页面,就这样指定好,指定完之后呢,我们再来试一下CTRC。哎,Go build,慢点go。
21:03
慢点,一个exe,好来,再来一次。回来诶刷新一下首页,然后我们来点登录,诶是不是就能打开登录页面了,对吧?诶就是这个啊,就能打开我们这个登录页面,诶直接就去这个诶A呃,log.am了,好诶那现在呢,这个页面诶可以过来了,哎可以过来了,就是我们这个处理静态资源这一块啊这一块哎需要调这个两个函数啊,一个是去前缀的,一个是这个文件系统的这样的一个函数啊,就让他去指定的一个目录,然后去找我们对应的这个静态页面就可以了。把这个停一下啊。
我来说两句