基础篇9. 清空缓存并验证文件生效
这是我们刚才新建的settings.local.php文件,我们可以看到文件的第52和53行,这两行代码的意思就是关闭CSS和JS聚合功能。(由于版本的差异,你的代码中,对应语句的行数可能有所变化,但是差别应该不大)
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
为了检查这个文件是否生效,我们只要看看网站的CSS和JS是不是被聚合了。因此,我们先回到刚才建立好的网站的首页,并检查元素。
我们可以在Chrome浏览器的元素检查区域看到,元素样式对应的CSS文件名称是一长串由数字和字母组成的名称,这就表明,这个网站在刚刚安装好的时候,CSS和JS是被聚合了。
初学者往往会疑惑,为什么我添加的CSS文件没有在页面中渲染出来,或者,页面上加载的CSS文件名那么长一串,但是在主题文件夹中却找不到。类似的问题,会在几个活跃的QQ群中反复的出现。这就是因为他们都不知道要关闭网站默认的CSS和JS聚合的功能。
我们先切换到性能页面(admin/config/development/performance),点击清空缓存按钮。这个动作是你在做主题开发的时候经常需要重复的一个动作,Drupal通过这种方式来重新加载系统文件和模板文件。
这里需要强调两点:
1. 清空缓存实际上是Drupal8之前的叫法,drupal8之后,实际上是“重建缓存”,即cache rebuild,但是很多人分不清,或者根据习惯继续沿用清空缓存的说法,甚至连翻译之后的中文版,也依然沿用以前的说法“清空缓存”,本教程中,两种说法并存,不做区分。
2. 这里的清空缓存实际上是重建Drupal网站的缓存,和平时在浏览器清除浏览器的缓存是两回事。如果你在做主题开发或者前端开发,浏览器中的缓存也是应该关闭的。关闭之后,就不需要清除浏览器缓存了。如果没有关闭,某些时候也会影响到页面效果的显示。但是浏览器缓存和Drupal网站的缓存是两回事,一定不好混淆。因此,你可以手动在性能页面(admin/config/development/performance)重建Drupal网站的缓存,也可以使用Drush或者Drupal console的命令来重建缓存,它们的效果是一样的。——在极少数的情况下效果会不一样,但是非常罕见,本教程中就不详细探讨了。
另外,你可以在这个性能页面的下方看到,“带宽优化——合并CSS和JS”的选项,是的,你在这里也可以关闭系统CSS和JS的聚合功能。但是,我建议你还是通过开启settings.local.php的方式来关闭他们。至于理由,我们已经在之前讲过了。
因此,清空缓存成功后,我们之前新建的settings.local.php文件就应该生效了,并且系统会关闭CSS和JS的聚合功能。
所以,我们再次刷新首页,会看到元素样式所对应的CSS文件名称变成了可读的单词,在这里是list.css。
然后,我们在返回到性能页面,你可以看到,在这个页面上,系统的“聚合CSS和JS文件”的功能,依然是开启的。也就是说,无论团队中的其他人,是不是在这个页面上改动了这两个选项。你本地的开发环境中,网站的“聚合CSS和JS文件”的功能都是关闭的。