ล้างธีม / CSS Cache ใน Magento 2


28

เมื่อฉันทำการเก็บ Magento 2 วิธีที่แนะนำในการทำความสะอาดแคชคืออะไร

ฉันแก้ไข.lessไฟล์แล้วฉันจะทำ

rm -rf pub/static/frontend/* var/view_preprocessed/ var/*cache/*

แต่นี่ดูเหมือนจะเป็นวิธีการบังคับเดรัจฉาน

php bin/magento cache:flush --all

ดูเหมือนว่าจะไม่ทำงาน

มีดีกว่าไหม


เนื่องจากคำถามของคุณยังไม่ได้รับการแก้ไขโปรดดูคำตอบของฉันที่นี่: magento.stackexchange.com/a/101139/27685ฉันคิดว่าจะช่วยได้
MauroNigrele

ฉันยังมีปัญหามากมายเกี่ยวกับ CSS / Less ถูกแคชด้วยตนเองการลบโมดูลที่ถูกเปลี่ยนด้วยตนเองใน pub / static บางครั้งช่วยได้ แต่ไม่เสมอไป M2 พิสูจน์ให้เห็นแล้วว่ายากที่จะทำงานด้วย
เบ็นครูก

คำตอบ:


18

ฉันคิดว่าวิธีที่ถูกต้องในการรีเฟรชไฟล์. no ตอนนี้มันเป็น

php bin/magento setup:static-content:deploy

เพราะมัน "รวบรวมประมวลผลและเผยแพร่ไฟล์ LESS ต้นฉบับ"

อีกประเด็นก็คือใช้โหมด dev ในระหว่างการพัฒนาจากนั้นอ้างอิงจากเอกสาร "ไฟล์มุมมองแบบสแตติกไม่ได้ถูกแคชพวกมันจะถูกเขียนไปยัง Magento pub / static directory ทุกครั้งที่มีการเรียก"

ในการตั้งค่า Magento 2 เป็นโหมดนักพัฒนาคุณต้องทำตามขั้นตอน

  1. ลบเนื้อหาของไดเรกทอรี var / generation และ var / di:

    rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/*

  2. ตั้งค่าโหมด:

    php bin/magento setup:mode:set developer


1
ไม่มีdeploy:mode:setคำสั่งดังกล่าวอีกต่อไป (beta2) แต่ฉันจะตั้งค่าผ่านทางMAGE_MODE SetEnvสำหรับdev:css:deployฉันต้องใส่ชื่อไฟล์ ฉันควรใช้แบบไหน
อเล็กซ์

ขอโทษนี่คือสิ่งที่ไม่ดีของฉัน setup: static-content: deploy เป็นคำสั่งที่ถูกต้องสำหรับการทำเช่นนั้น ยังปรับใช้: โหมด: ชุดดูเหมือนว่ายังคงใช้งานได้สำหรับฉันคุณไม่ได้อยู่ในรายการคำสั่งของ bin / magento เช่นกัน?
FireBear

เข้าใจแล้วปรับใช้: โหมด: ชุดเปลี่ยนไปเป็นการตั้งค่า: โหมด: ตั้งค่าตามgoo.gl/Pive1U
FireBear

ฉันยังคงลองสิ่งนี้ ...
อเล็กซ์

"ไฟล์มุมมองแบบสแตติกไม่ได้ถูกแคชพวกมันจะถูกเขียนไปยัง Magento pub / static directory ทุกครั้งที่พวกเขาถูกเรียกว่า" ฉันคิดว่าหมอนั้นผิด มีความเป็นไปRewriteCond !-fใน.htaccessในpub/staticซึ่งจะทำให้ Apache จะใช้เวอร์ชันแคชถ้ามันมีอยู่
อเล็กซ์

2

มีสามวิธีในการล้างแคช css หากการเปลี่ยนแปลงไม่สะท้อน

1. ใช้ Grunt แทนดังนั้นคุณไม่จำเป็นต้องล้างแคชหลังจากเปลี่ยน css ทุกครั้ง (วิธีที่แนะนำ) คุณสามารถดูเอกสารเพิ่มเติมเกี่ยวกับ grunt ได้จากลิงค์นี้

2. ไปที่ระบบ> การจัดการแคช> การจัดการแคชเพิ่มเติม> Flush JavaScript / CSS Cache

ป้อนคำอธิบายรูปภาพที่นี่

3. เรียกใช้คำสั่ง deploy (ใช้เวลานานและไม่ใช่คำแนะนำที่ดีควรเปลี่ยนโหมดเป็นผู้พัฒนาหากไม่ได้อยู่ที่นั่น)

php bin/magento setup:static-content:deploy

1

ฉันคิดว่าpub/staticเนื้อหา (ในโหมด dev) ถูกสร้างขึ้นด้วยตรรกะเดียวกับที่ใช้สำหรับvar/generationไฟล์ฉันหมายถึงถ้าไม่มีเนื้อหาที่ต้องการจะถูกสร้างขึ้น แต่ถ้ามีอยู่แล้วจะถูกนำมาใช้ซ้ำ

ดังนั้นฉันคิดว่าคุณควรทำความสะอาดpub/static[area]หรือเรียกใช้setup:static-content:deployเพื่อแทนที่ทั้งหมด แต่กระบวนการนี้ช้ามากที่จะเรียกใช้ทุกครั้งที่คุณทำการเปลี่ยนแปลง


0

ในโหมดการพัฒนาตนเองแทนการล้างและpub/staticvar/view_preprocessed

ไปSystem > Tools > Cache Managementและคลิกที่ฟลัชคงไฟล์แคช



0

หากต้องการล้างแคชของวีโอไอพีในคำสั่งอย่างที่คุณสามารถทำได้

bin/magento cache:flush

ในการล้างแคชหน่วยเก็บข้อมูลคุณสามารถเรียกใช้:

bin/magento cache:clean

ในการตรวจสอบสถานะการทำงานของแคช (สถานะควรเป็น 1 สำหรับการใช้งานและ 0 สำหรับการปิดใช้งาน):

bin/magento cache:status

หากต้องการปิดใช้งานแคช magento ให้ทำงานร่วมกัน:

bin/magento cache:disable

วิธีเปิดใช้งานการเรียกใช้แคช:

bin/magento cache:enable

แต่ฉันคิดว่าปัญหาของคุณอยู่ในโหมด Magento ที่ตั้งไว้ในโหมดการผลิต คุณสามารถตรวจสอบโหมดของคุณโดยใช้: bin/magento deploy:mode:show คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการผลิตวีโอไอพีและโหมดนักพัฒนาซอฟต์แวร์ได้ที่นี่

เป็นอีกทางเลือกหนึ่งสำหรับโหมดผู้พัฒนาที่bin/magento setup:static-content:deployคุณสามารถใช้bin/magento setup:upgradeมันเพื่อล้างโค้ดที่คอมไพล์และแคช หรือเพียงแค่ลบสิ่งใด ๆ ในแบบฟอร์มpub/staticโฟลเดอร์ของโครงการที่คุณต้องการอัปเดต หากมีบางสิ่งที่ขาดหายไปจากโฟลเดอร์นั้นจะถูกสร้างขึ้นใหม่พร้อมกับการเปลี่ยนแปลงล่าสุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.