关于Drupal8

Drupal 8 是目前最优秀最强大的开源CMS、CMF,可以做任何系统的开发,所以强大的Drupal8也用在了各个领域,包括网站、小程序、业务系统、平台等多种场景。Drupal8的特点如下:

 

 

 

  • 可扩展的内容模型

  • 面向对象OOP架构

  • 用户角色管理

  • 灵活的模板

 

Drupal8的优化建议

Drupal的易用性导致Drupal的性能就会下降,因为要考虑很多场景的通用性,要考虑兼容,又有很多种模块,代码庞大,所以Drupal8相对来讲,性能有时候会出现问题,本文就Drupal8的优化,提出以下几个建议:

 

  • 尽量减少模块

    一个网站,通常都会拥有不同功能,需要不通模块,所以会导致Drupal的模块越来越多,因此建议禁用不必要的模块。

     

  • 主题的设计简洁化

    页面的内容可以简洁一下,不必要一个页面很长很多内容放在一个页面,导致也加载比较慢。

     

  • 开启Drupal默认的缓存

    Drupal的后台,有默认的缓存功能,可以开启。

     

  • 使用第三方缓存模块

    使用Memcahce、Redis 等Drupal模块可以加速Drupal的缓存。
     

  • 尽量不要.module文件

    在Drupal8架构里面,基本都是autoload,OOP编程,.module导致加载臃肿。
     

  • 尽量不要用hook

    如上,Hook是函数编程,并且会每次调用都执行,因此能减少使用Hook最好。
     

  • 不要把所有的东东都放node里面,自建Entity

    众所周知,Drupal的默认entity是node,但是不要把所有的内容都方到node里面,比如message、跟帖这种,导致node表很大,网站其他的内容也加载比较慢,建议自建Entity。
     

  • 压缩CSS、JS等文件

    合并CSS、JS文件,减少文件数量。
     

  • 使用HTTP gzip压缩

    Apache、Nginx都支持gzip压缩,文本文件压缩比可以达到80%的压缩,因此推荐使用服务器压缩,并且不会产生副作用。
     

  • 使用CDN加速

    使用CDN加速静态资源。
     

  • 图片使用懒加载

    图片资源可以考虑使用懒加载。
     

  • 使用Nginx代替apache

    相对来讲apache要比nginx+fpm慢一些,所以推荐使用Nginx+FPM代替apache。
     

  • 可以使用headless Drupal

    也可以使用纯前端的架构,数据通过api的方式获取数据即可,实现Headless的Drupal架构。