Perubahan pada CSS dan JavaScript hanya berlaku setelah menggunakan konten statis

8

Saya menginstal Magento 2 dari situs Magento. Saya telah mengaktifkan mode pengembang oleh

{project directory}>php bin/magento setup:mode:set developer

Kemudian saya telah menginstal tema khusus saya dan akhirnya saya menggunakan konten statis saya dengan

{project directory}>php bin/magento setup:static-content:deploy

Masalah saya adalah saya harus menghapus pub/staticdirektori dan menggunakan konten statis setiap kali untuk menerapkan perubahan css dan javacript. Proses penyebaran konten statis lambat dan menghabiskan banyak waktu sehingga sangat membuat frustrasi. Saya mengembangkan sesuatu dan harus menggunakan untuk mendapatkan perubahan yang akan muncul. Bahkan untuk perubahan yang sangat kecil. Membilas cache tidak membantu. Bantuan apa pun akan dihargai. Terima kasih sebelumnya.

Janaka Dombawela
sumber

Jawaban:

4

Untuk saat ini Anda hanya memiliki cara ini untuk menerapkan perubahan. Magento harus menerapkan perubahan ke pub / dir statis tetapi tidak. Bug ini masih tahu. Berharap itu harus segera diperbaiki.
Anda dapat menerapkan perubahan baru dengan perintah seperti yang Anda lakukan. Cara ini akan memakan waktu tetapi harus bekerja dengan
cara saya ketika saya memodifikasi js dari ekstensi saya. Saya hanya pergi ke pub dir dan menghapus folder

\pub\static\frontend\Magento\luma\en_US\<Vendor_Module>\js

Anda dapat melakukan hal yang sama dengan file css saat menyesuaikan gaya

mrtuvn
sumber
Apakah Anda tahu tentang tiket di github atau itu pendapat pribadi Anda? Seperti yang saya tahu tidak ada masalah.
KAndy
4

Magento memiliki strategi berbeda untuk mewujudkan aset statis. Salinan dan Tautan. Ketika Anda menjalankan pengaturan: konten statis: gunakan perintah ini menggunakan strategi Salin dan file akan terwujud dalam folder statis dan tidak akan berubah ketika Anda mengubah yang asli.

Jika Anda membersihkan folder statis dan membuka halaman di browser, strategi Link akan digunakan dan tautan pada file asli dibuat. Jadi, Anda akan memodifikasi sumber dan melihat perubahan

KAndy
sumber
Itu benar, tetapi butuh lebih banyak waktu untuk memuat halaman setelah membersihkan konten statis dan tidak menyebarkannya. Ada juga masalah cache browser meskipun kami dapat menggunakan tab penyamaran dalam kasus itu yang lagi-lagi meningkatkan waktu pemuatan saat konten baru dibuat. Pada dasarnya, prosesnya memakan waktu dan Anda tidak bisa menyangkal hal itu.
Sanjay Chaudhary
0

Tapi begitu saya dihapus secara manual dari direktori \ pub \ static \ frontend \ Magento \ luma \ en_US \ Vendor_Module \ js, itu tidak otomatis dihasilkan setelah pemuatan halaman. Untuk itu lagi, saya harus menerapkan perintah static-content deploy, lalu ada perubahan baru pada file js & css apa yang saya lakukan untuk modul tertentu.

Sharad
sumber
0

Jika Anda berlari

bin/magento dev:source-theme:deploy --theme [Vendor]/[theme] --locale <locale>

sebelum penerapan aset statis, Magento akan membuat di pub / symlink direktori statis (bukan menyalin) ke file di vendor.

Jadi Anda dapat memodifikasi file dalam tema Anda dan secara otomatis file yang dihasilkan di pub / statis tanpa menjalankan setup bin / magento: static-content: deploy setiap waktu.

Sekarang Anda dapat menggunakan pelari tugas untuk mengkompilasi file Anda dan menghasilkan css.

nuovecode
sumber
0

Masalahnya adalah bahwa ketika Anda menghapus seluruh konten pub / statis, Anda juga menghapus file .htaccess dan ini menyebabkan masalah Anda dengan menghasilkan symlink ke sumber daya statis dalam mode pengembang.

Begitu,

  1. Jangan hapus file .htacess.
  2. Hapus hanya direktori tema spesifik Anda, mis. hapus konten hanya di pub / static / frontend / Your / theme

Dari pengalaman saya, ketika menggunakan symlink ke file statis dalam mode Pengembang, Anda tidak perlu menghapusnya untuk melihat perubahan Anda. Jika ragu, jalankan saja

php bin/magento cache:flush
Iveta Allogenes
sumber