Existe alguma diferença entre estender um tema usando _module.less
e _extend.less
? E qual é a melhor prática ao estender um módulo / tema?
Meu primeiro pensamento foi que é melhor usar _module.less
ao estilizar um novo módulo e _extend.less
ao estender um módulo. Mas Luma usa _module.less
ao estender o tema em branco para que a teoria saia pela janela.
A única diferença que vejo entre eles é _module.less
importada antes da biblioteca responsiva e _theme.less
onde _extend.less
é importada depois deles.
Esta é a ordem em que eles são importados vendor/magento/theme-frontend-blank/web/css/styles-l.less
//
// Blank theme desktop styles
// _____________________________________________
// These desktop styles are added to mobile
//
// Global lib + theme styles
// ---------------------------------------------
@import '_styles.less';
@import (reference) 'source/_extends.less';
//
// Magento Import instructions
// ---------------------------------------------
//@magento_import 'source/_module.less'; // Theme modules
//@magento_import 'source/_widgets.less'; // Theme widgets
//
// Media queries collector
// ---------------------------------------------
@import 'source/lib/_responsive.less';
@media-target: 'desktop'; // Sets target device for this file
@media-common: false; // Sets not to output common styles
//
// Global variables override
// ---------------------------------------------
@import 'source/_theme.less';
//
// Extend for minor customisation
// ---------------------------------------------
//@magento_import 'source/_extend.less';