我考虑在下一个项目中使用 BEM 命名约定,但由于类名太长,我有点担心性能。
例如(来源为here)
<figure class="photo">
<img class="photo__img photo__img--framed" src="me.jpg">
<figcaption class="photo__caption photo__caption--large">Look at me!</figcaption>
</figure>
在具有数十个sass文件的复杂项目中,差异可以忽略不计。
我正在使用Symfony 4,我想知道是否有一种优雅的方法可以用a
,b
,{{ 1}},c
,...
,aa
等
JavaScript输出也可能是一个考虑因素,因为它可能会向某些元素动态添加css类。
对于css部分,我认为在最终输出上进行全局替换的Webpack插件就足够了。
对于JavaScript来说,我认为几乎不可能完全正确,因为类名称可以动态生成(ab
),甚至更糟的是,可以从服务器或您可以想象的其他任何方式返回。
因此,我考虑将前缀添加到不应替换的类中。就像以var className = "--is-" + this.state;
开始。
但是html部分(或者我应该说_
部分)更难解决,因为它不能像Javascript部分那样被忽略,并且在开发中编写的代码和所使用的代码之间没有转换在生产中。
我猜想,当构建缓存时,twig会将所有内容都编译到php中,因此使用编译钩子可能需要做些什么,或者就是那个区域。
您知道做这种事情的任何工具吗?
大型网站如何处理? 例如,如果我在Google服务中打开检查器,则会看到以下内容:
twig
对我来说看起来并不友好。
感谢您的见解。