Magento 2:什么是“静态视图文件”


21

如果我使用module:enablemodule:disable命令启用或禁用模块,

php bin/magento module:enable Pulsestorm_TutorialObjectManager1
php bin/magento module:enable Pulsestorm_TutorialObjectManager1

输出将包括以下内容

警报:尚未清除生成的静态视图文件。您可以使用--clear-static-content选项清除它们。无法清除静态视图文件可能会导致管理员和店面中的显示问题。

静态生成的视图文件到底什么?

这些文件存放在哪里?

如果包含该--clear-static-content选项,是我只是删除文件,还是会重置系统中的其他内容?

Answers:


12

它似乎只是删除文件(并打印一些输出)。设置该标志后,堆栈将包含:

\Magento\Setup\Console\Command\AbstractModuleCommand::cleanup
\Magento\Framework\App\State\CleanupFiles::clearMaterializedViewFiles

清空这些目录(请参见\ Magento \ Framework \ App \ Filesystem \ DirectoryList):

DirectoryList::STATIC_VIEW == 'static'
DirectoryList::VAR_DIR == 'var'
DirectoryList::TMP_MATERIALIZATION_DIR == 'view_preprocessed'

如果搜索的使用DirectoryList::STATIC_VIEW,我会看到很多输出,但是值得注意的是,大多数输出​​与部署和清理CSS以及合并的JS有关。无需进一步挖掘,我认为可以说“静态视图”是经过处理的静态资产文件,例如CSS和JS。我很好奇开发人员如何扩展和修改此功能。


12

“视图”是指表示层(来自MVC)。

“静态”表示可以为站点缓存它(不是动态的)。例如从LESS文件生成的CSS。

在生产中,我们可以预先计算文件。在开发人员模式下,我们可以按需生成,但是其余的缓存在文件中以提高速度。因此,如果加载新模块,则可能加载新的JS,CSS,布局文件等-因此您需要刷新旧文件,以确保获得新模块的所有更改。

此刻清除静态内容将删除文件。有一天,它可能会做更多的事情,但是我还没有计划。

它们位于pub / static中-但是/ var下也有缓存的文件。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.