且让我贴着脸自称新人吧。先背景介绍:干了两年前端了,懂一点点Java和PHP,只是工作需要学的,略懂皮毛。说懂皮毛都有点夸张。公司的开发是前后端不分离的,我设计图,然后用HTML+CSS+JavaScript写出要做的效果给后端,然后后端在页面上添加PHP或者Java的字段去取数据。随着工作要求的升级,和我自身能力的增长的需要,我学习了很多前端的技术。比如前端工程化的知识。但是我心里始终有一个疑问,解不开。在这里问问,别笑话我。前端接管了大部分的工作,那么这个取数据的工作 有谁来做?比如:
我使用yoeman 的 webapp generator创建了这样的一个项目结构:
然后我在app这个目录中写我的代码。
使用gulp构建,product版本的文件会输出到dist目录中。拿index.html举例:
页面长这样:代码长这样:
问题来了
我这个构建过的代码给php,肯定不太好吧,让他在这里拼接字段?不如杀了他。
那只能通过前端来取数据了。
前端全局使用ajax来取数据?
也不太好吧。
先不说SEO,本身就不太好。用户打开页面还得先执行js才能看到结果况且我这个项目还是需要后台管理页面的。页面图中的【菜单】【banner】【列表】的内容都要编辑们通过后台管理页面一个一个上传修改的。
也就是他们都要存储在数据库中的。谁能用最简单的话,给我解释一下,这种前端技术开发的项目+工程化后,要怎么和后端配合?
我能想到的就是ajax可是,页面那么多链接,整个页面处了布局,几乎所有的文字图片,都有改变的需求,这个改变都要求编辑通过后台管理中心可以修改的了。也就是都需要写到数据库中。
我一点一点去写ajax?
整个网站都需要这样搞?

解决方案 »

  1.   

    用ajax为什么不好呢?
    可以做个中间层做直出 但其实是和jsp差不多
      

  2.   

    我觉得这个用AJAX反而简单,页面搭起框架,再根据可视窗口高度scroll,异步加载内容。
    每个请求的内容在后台做个碎片块,可任意编辑。
      

  3.   

    是这样的,如果使用ajax来获取数据的话,那么右击查看网页源码是看不到任何的和内容相关的信息的,
    这样肯定是无法搞SEO了吧。
    而且,我看到好多网站同样采用了这种构建的操作(压缩,添加map文件,给静态资源打版本号)
    可是他们的网站右击源码,可以看到内容的。
    这个是怎么弄的呢?
    是在后端项目中也走了一遍构建流程吗?那还是前端的工作吗?还是属于后端的工作?
      

  4.   


    可是ajax后,你的网站看源码是没有内容的啊,不考虑SEO,也不说什么浏览器禁用js等。就单单是页面没有内容,就很奇怪啊。当然,主要是我看到的很多网站,同样进行了,构建,代码也压缩了,静态资源也添加版本号了。但是右击源码有内容的。
    所以我在考虑的是我的步骤出错了吗?难道我需要把这个构建的整个功能直接搞到后端开发的那个项目文件夹中?那不又混一块了吗?我只是想知道,我看到的那些网站是怎么做的?
      

  5.   

    前后端是要分离。如果考虑seo的话就可使用后端渲染模板数据。
      

  6.   


    可是ajax后,你的网站看源码是没有内容的啊,不考虑SEO,也不说什么浏览器禁用js等。就单单是页面没有内容,就很奇怪啊。当然,主要是我看到的很多网站,同样进行了,构建,代码也压缩了,静态资源也添加版本号了。但是右击源码有内容的。
    所以我在考虑的是我的步骤出错了吗?难道我需要把这个构建的整个功能直接搞到后端开发的那个项目文件夹中?那不又混一块了吗?我只是想知道,我看到的那些网站是怎么做的?
    那些网站?是那个网站,倒是贴出来一个呀.
      

  7.   

    要SEO,就用CMS系统的实现方式
    你做的工作是展示模板的开发工作
    管理后台做内容的编辑填充工作,管理后台要有个内容发布功能
    发布功能实现的是服务端将模板和内容生成为含有内容的静态html文件,并放入相应的webserver目录下这样你的模板和内容是分离的,你决定内容的展示样式,管理端决定显示什么内容,而生成的静态html是可以做SEO的,读写效率也高
      

  8.   

    不绝对,还要考虑网站访问量等问题,毕竟ajax多了http连接,综合起来选择较平衡的方案比较合适。