Magento 2: Apa itu "file tampilan statis"

21

Jika saya menggunakan perintah module:enableatau module:disableuntuk mengaktifkan atau menonaktifkan modul,

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

Output akan mencakup konten berikut

Peringatan: File tampilan statis yang dihasilkan tidak dihapus. Anda dapat menghapusnya menggunakan opsi --clear-static-content. Gagal menghapus file tampilan statis dapat menyebabkan masalah tampilan di Admin dan etalase.

Apa sebenarnya adalah statis dihasilkan file view?

Di mana file-file ini tinggal?

Jika saya menyertakan --clear-static-contentopsi, apakah saya hanya menghapus file, atau apakah ini akan mengatur ulang hal-hal lain dalam sistem juga?

Alan Storm
sumber

Jawaban:

12

Tampaknya hanya untuk menghapus file (dan mencetak beberapa output). Dengan flag itu setel stack berisi:

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

yang mengosongkan direktori ini (lihat \ Magento \ Framework \ App \ Filesystem \ DirectoryList):

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

Jika saya mencari penggunaan DirectoryList::STATIC_VIEW, saya melihat banyak output, tetapi terutama sebagian besar ada hubungannya dengan menggunakan dan membersihkan CSS dan menggabungkan JS. Tanpa penggalian lebih lanjut, saya pikir aman untuk mengatakan "tampilan statis" adalah file aset statis pasca-proses seperti CSS dan JS. Saya ingin tahu bagaimana pengembang memperluas dan memodifikasi fitur ini.

kojiro
sumber
12

"Lihat" mengacu pada lapisan presentasi (dari MVC).

"Statis" berarti dapat di-cache untuk situs (ini tidak dinamis). Misalnya CSS yang dihasilkan dari file KURANG.

Dalam produksi kami dapat melakukan pre-compute file. Dalam mode pengembang kita dapat menghasilkan sesuai permintaan, tetapi sisanya di-cache dalam file untuk kecepatan. Jadi jika Anda memuat modul baru, itu mungkin memuat JS baru, CSS, file tata letak, dll - jadi Anda perlu menyiram file lama untuk memastikan Anda mendapatkan semua perubahan untuk modul baru.

Menghapus konten statis saat menghapus file. Suatu hari mungkin akan berbuat lebih banyak, tetapi belum ada rencana yang saya tahu.

Mereka tinggal di pub / statis - tetapi ada file cache di bawah / var juga.

Alan Kent
sumber
Terima kasih. Saya akan menambahkan definisi ke devdocs.magento.com/guides/v1.0/config-guide/cli/…
Steve Johnson