Thay đổi đối với CSS và JavaScript chỉ áp dụng sau khi triển khai nội dung tĩnh


8

Tôi đã cài đặt Magento 2 từ trang Magento. Tôi đã kích hoạt chế độ nhà phát triển bằng cách

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

Sau đó, tôi đã cài đặt chủ đề tùy chỉnh của mình và cuối cùng tôi đã triển khai nội dung tĩnh của mình bằng cách

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

Vấn đề của tôi là tôi phải xóa pub/staticthư mục và triển khai nội dung tĩnh mỗi lần để áp dụng các thay đổi css và javacript. Quá trình triển khai nội dung tĩnh chậm và mất quá nhiều thời gian nên rất bực bội. Tôi phát triển một cái gì đó và phải triển khai để thay đổi được xuất hiện. Ngay cả đối với thay đổi rất nhỏ. Xóa bộ nhớ cache không giúp được gì. Bất kỳ trợ giúp sẽ được đánh giá cao. Cảm ơn trước.

Câu trả lời:


4

Bây giờ bạn chỉ có cách này để áp dụng thay đổi. Magento nên được áp dụng thay đổi cho pub / static dir nhưng không được. Cái này vẫn biết lỗi. Hy vọng nó sẽ được khắc phục sớm
Bạn có thể áp dụng các thay đổi mới bằng lệnh như bạn làm. Cách này sẽ mất một số lần nhưng sẽ hoạt động
theo cách của tôi khi tôi sửa đổi js từ tiện ích mở rộng của mình. Tôi chỉ đi đến pub dir và xóa thư mục

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

Bạn có thể làm tương tự với các tệp css khi tùy chỉnh kiểu


Bạn có biết về một số vé trên github hoặc đó là ý kiến ​​cá nhân của bạn? Theo tôi biết không có vấn đề.
KAndy

4

Magento có chiến lược khác nhau để cụ thể hóa tài sản tĩnh. Bản sao và Liên kết. Khi bạn chạy thiết lập: static-content: triển khai lệnh này, sử dụng Sao chép chiến lược và tệp sẽ được cụ thể hóa trong thư mục tĩnh và sẽ không thay đổi khi bạn thay đổi bản gốc.

Nếu bạn dọn dẹp thư mục tĩnh và trang mở trong trình duyệt Liên kết chiến lược sẽ được sử dụng và liên kết trên tệp gốc được tạo. Vì vậy, bạn sẽ sửa đổi nguồn và xem các thay đổi


Điều đó đúng, nhưng phải mất nhiều thời gian hơn để tải trang sau khi xóa nội dung tĩnh và không triển khai nó. Ngoài ra còn có vấn đề về bộ đệm của trình duyệt mặc dù chúng ta có thể sử dụng các tab ẩn danh trong trường hợp đó một lần nữa làm tăng thời gian tải khi nội dung mới được tạo. Về cơ bản, quá trình tốn thời gian của nó và bạn không thể phủ nhận điều đó.
Sanjay Chaudhary

0

Nhưng một khi tôi đã xóa thủ công khỏi thư mục \ pub \ static \ frontend \ Magento \ luma \ en_US \ Vendor_Module \ js, nó không được tạo tự động khi tải trang. Đối với điều đó một lần nữa, tôi phải áp dụng lệnh triển khai nội dung tĩnh, sau đó xảy ra những thay đổi mới trong các tệp js & css mà tôi đã làm cho mô-đun cụ thể.


0

Nếu bạn chạy

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

trước khi triển khai tài sản tĩnh, Magento sẽ tạo trong liên kết tượng trưng thư mục pub / static (không sao chép) vào các tệp trong nhà cung cấp.

Vì vậy, bạn có thể sửa đổi các tệp trong chủ đề của mình và tự động các tệp được tạo trong pub / static mà không cần chạy bin / magento setup: static-content: triển khai mọi lúc.

Bây giờ bạn có thể sử dụng một trình chạy tác vụ để biên dịch các tệp của mình và tạo css.


0

Vấn đề là khi bạn xóa toàn bộ nội dung của pub / static, bạn cũng xóa tệp .htaccess và điều này gây ra sự cố của bạn với việc tạo liên kết tượng trưng đến tài nguyên tĩnh trong chế độ nhà phát triển.

Vì thế,

  1. Đừng xóa tập tin .htacess.
  2. Chỉ xóa thư mục của chủ đề cụ thể của bạn, ví dụ. chỉ xóa nội dung trong pub / static / frontend / Your / theme

Theo kinh nghiệm của tôi, khi sử dụng liên kết tượng trưng đến các tệp tĩnh trong chế độ Nhà phát triển, bạn không cần xóa chúng để xem các thay đổi của mình. Nếu nghi ngờ, chỉ cần chạy

php bin/magento cache:flush
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.