分享:ThinkPHP和Webpack前后端结合构建SEO多页应用的一个思路

news/2024/5/20 15:11:48/文章来源:https://pengshiyu.blog.csdn.net/article/details/124899531

在这里插入图片描述
有时候遇到的需求是这样的:

部分页面,如详情页,需要做SEO优化,而部分页面需要实现复杂的交互,如用户后台,可发布信息。

之前采用过一次,Nuxt.js 等前后端同构的方案。
优点就是一套js代码,就可以实现后端渲染。
使用后发现开发环境性能要求较高,经常出现启动慢,打包慢,有时候还进程自动退出

编写代码的时候发现,Vue生命周期把控不好,会出现一些奇怪的报错,不能很好的区分代码在服务端执行还是客户端执行,需要写一些判断。

上图的方案,采用了ThinkPHP作为服务端,使用他的Active Records 形式的 ORM 能够很快进行MySQL数据库的CURD开发,而且一台服务器部署多个应用也比较简单,通过PHP-FPM可以很好的管理PHP应用。当然也可以换成其他语言实现,例如:

  • Python的Flask、Django;
  • Node.js的express、Koa;
  • Java的SpringBoot;
  • PHP的Laravel等

通过Twig渲染模板,主要是Twig模板引擎比较通用,

类似的有

  • PHP 生态下的 Twig
  • Python生态下的 jinja2
  • javascript生态下的nunjucks

甚至是Vue中也有其影子

有了Webpack的加持,乘着前端工具链的快车

  • 不需要复杂交互的部分,就可以直接使用后端模板引擎做后端渲染
  • 需要做复杂交互的部分,可以使用Vue.js、React.js等前端库来处理

开发环境

使用webpack devServer处理静态文件,同时又实现了Live Server,提升开发体验
使用ThinkPHP处理HTML,通过模板引擎Twig动态渲染模板

生产环境

通过Nginx转发请求,先将请求转发给PHP处理模板引擎,获取THML文件

浏览器再去请求js、css、图片等静态资源,打包后的文件名可以增加hash值,解决浏览器对静态资源的缓存问题,通过manifest.json文件的文件映射关系,动态查找真实的文件名,实现动态替换

文件目录结构,可以参考微信小程序的方案

app/index/IndexController.phpsrc/pages/index/index.jsindex.lessindex.html

这样将相关文件都放置在一起,易于维护,Webpack和ThinkPHP各取所需

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_751665.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最好用的临时邮箱网站

做为一个经常在网上瞎逛的人,就避免不了需要注册一些账号,有些小网站总是令人不放心的,所以我们总是会陷入纠结,注册吧,怕泄露个人隐私,不注册吧还总好奇里面的东西。现在不用纠结了!一次性邮箱…

推荐一个临时邮箱生成网站,专门用于各种注册用途

很多时候我们访问某些论坛或者网站,需要注册一个用户才能使用完整功能,而现在用户注册除了手机外,大多数还是需要一个电子邮箱才行。 而我们注册这些论坛,可能注册完使用了网站的功能之后,以后就不会再用到了。如果使…

大型网站的灵魂——性能

前言 在前一篇随笔《大型网站系统架构的演化》中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我们一步一步去研究实践。所以我…

那些你可能需要的音乐聚合网站

我平常用网易云来听音乐 http://music.163.com/ ,网易云除了歌好听,评论更有故事。之前已经写过网易云音乐了,有兴趣看看之前的文章那些你可能不知道的网易云音乐奇技淫巧可惜周杰伦的大部分歌曲网易没有版权,还好我保存了一份杰伦…

那些有意思的网站

最近微博上发现一个狗屁不通文章生成器,试了下,有点意思,接着又发现了不少类似有意思的网站,正好做个整理分享下。狗屁不通文章生成器写文章没有思路,来教你一本正经的胡说八道https://suulnnka.github.io/BullshitGen…

那些有趣的网站

之前分享过那些有意思的网站 ,这里继续分享一波,也许你用得上。福利单词一边背单词一边看妹子的网站,用电脑打开,配合ctrlw 关闭新窗口,不知不觉就背了百来个词了 https://easychen.gitee.io/foxdict/工资计算器简单、…

那些好玩的生成器网站

2019 年时间不多了,还有6天就彻底告别2019进入2020了。这张图片通过网站 https://c.yonghuigj.com/cx3/2088/ 生成的,是不很应景,下面整理几个好玩的生成器网站。Logo 生成器一个简单的 Logo 生成器,可以让你快速制作 Pornhub、Yo…

那些有意思的网站彩蛋

苏生不惑第 88 篇原创文章很多电影会在结尾留下彩蛋,比如电影《无问西东》片尾的一段七分钟读懂中国大师的彩蛋,还有去年周杰伦新歌《说好不哭》,知乎网友挖出的一系列彩蛋 。在一些网站和app里也会隐藏一些彩蛋,第一次见的时候还…

那些有意思的网站(二)

苏生不惑第 98 篇原创文章之前写过 那些有意思的网站 和 那些有趣的网站 ,这里继续分享那些有意思的网站。苹果档案这是一个苹果公司档案网站(非官方),收集了苹果公司从成立以来的所有广告、海报和宣传材料 https://www.applearch…

分析你的浏览器历史记录,看看你喜欢访问哪些网站

苏生不惑第 103 篇原创文章,将本公众号设为星标,及时看最新文章。浏览器都有访问历史记录,Chrome 浏览器点击右上角。进入 chrome://history/ 可以看到你访问过的所有网页。除了本地记录,谷歌还帮你保存在云端,前提是你…

那些好玩的生成器网站(二)

苏生不惑第105 篇原创文章,将本公众号设为星标,第一时间看最新文章。之前写过 那些好玩的生成器网站 ,这里继续整理些好玩的生成器网站。生成小瓶子最近微博上的话题 #小瓶子涂鸦大赛#很火。小瓶子的状态代表你对事物喜好的程度,喜…

如何搞定某些网站不让复制文字

苏生不惑第121 篇原创文章,将本公众号设为星标,第一时间看最新文章。浏览某些网站的时候,看到一段不错的话想复制下来,结果竟然要登录,甚至你都选择不了文字,因为被禁用了,下面就分享几种解决方…

那些好玩的网站

苏生不惑第122 篇原创文章,将本公众号设为星标,第一时间看最新文章。之前分享过那些有意思的网站那些有意思的网站(二)那些好玩的生成器网站那些好玩的生成器网站(二)这里继续分享那些有好玩的网站。色差辨…

那些好玩的网站(二)

苏生不惑第126 篇原创文章,将本公众号设为星标,第一时间看最新文章。之前分享过 那些好玩的网站 ,这是第2篇。假装 Windows 升级模拟各种系统升级的画面,上班摸鱼的时候boss快过来了赶紧升级下 http://fakeupdate.net/经典的win7更…

那些好用的无版权免费图片网站

苏生不惑第128 篇原创文章,将本公众号设为星标,第一时间看最新文章。平常搜图片一般直接在谷歌搜,可能一不小心就侵权了,这里分享些好用的无版权免费图片网站。unsplash这个共享摄影的网站比较知名,该网站声称有超过110000名特约摄…

那些有趣的网站(二)

苏生不惑第136篇原创文章,将本公众号设为星标,第一时间看最新文章。之前分享过 那些有趣的网站 ,这是第2篇,其他有意思的网站在文章开头的专辑里。互联网公司薪酬查询https://xiguajob.com/ 可查各大公司不同职级对应薪酬。国外也…

那些有趣的网站系列(三)

苏生不惑第146篇原创文章,将本公众号设为星标,第一时间看最新文章。之前分享过 那些有趣的网站 ,那些有趣的网站(二),这是第3篇,其他有意思的网站在文章开头的专辑里。烂片排行榜华语影坛历史上…

这个网站堪称宝藏,收藏起来吧

苏生不惑第160 篇原创文章,将本公众号设为星标,第一时间看最新文章。关于有趣实用的网站之前分享过很多:那些有趣的网站那些有趣的网站(二)那些有趣的网站系列(三)那些你可能用得上的在线办公神…

那些有趣的网站系列(四)

苏生不惑第165篇原创文章,将本公众号设为星标,第一时间看最新文章。之前分享过 那些有趣的网站 ,那些有趣的网站(二),那些有趣的网站系列(三),这是系列第4篇&#xff0c…

那些有趣的网站系列(五)

苏生不惑第173篇原创文章,将本公众号设为星标,第一时间看最新文章。之前分享过 那些有趣的网站 ,那些有趣的网站(二),那些有趣的网站系列(三),那些有趣的网站系列&#…