CSSおよびJavaScriptへの変更は、静的コンテンツをデプロイした後にのみ適用されます


8

MagentoサイトからMagento 2をインストールしました。私は開発者モードをアクティブにしました

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

次に、カスタムテーマをインストールし、最後に静的コンテンツを

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

私の問題はpub/static、cssおよびjavacriptの変更を適用するために、毎回ディレクトリを削除して静的コンテンツをデプロイする必要があることです。静的コンテンツの展開プロセスは遅く、非常に時間がかかるので非常にイライラします。私は何かを開発し、変更を反映させるために展開する必要があります。非常に小さな変化でも。キャッシュのフラッシュは役に立ちません。任意の助けいただければ幸いです。前もって感謝します。

回答:


4

現時点では、この方法で変更を適用するだけです。Magentoはpub / static dirに変更を適用する必要がありますが、そうではありません。これはまだバグを知っています。すぐに修正されることを願ってい
ます。新しい変更をコマンドと同じようにコマンドで適用できます。この方法はしばらく時間がかかりますが
、拡張機能からjsを変更すると、私の方法で動作するはずです。私はただpub dirに移動してフォルダをクリアします

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

スタイルをカスタマイズするときにcssファイルでも同じことができます


githubのチケットについて知っていますか、それともあなたの個人的な意見ですか?私が知っているように問題はありません。
KAndy

4

Magentoには、静的アセットを具体化するための異なる戦略があります。コピーとリンク。setup:static-content:deployこのコマンドを実行すると、コピー戦略とファイルが静的フォルダーに具体化され、元のファイルを変更しても変更されません。

静的フォルダーをクリーンアップしてブラウザーでページを開くと、リンク戦略が使用され、作成された元のファイルにリンクされます。したがって、ソースを変更して変更を確認します


そのとおりですが、静的コンテンツをクリアしてデプロイしないと、ページのロードに時間がかかります。ブラウザキャッシュの問題もありますが、その場合はシークレットタブを使用できます。この場合も、新しいコンテンツが作成されるときに読み込み時間が長くなります。基本的に、その時間のかかるプロセスとあなたはそれを否定することはできません。
Sanjay Chaudhary 2017年

0

しかし、\ pub \ static \ frontend \ Magento \ luma \ en_US \ Vendor_Module \ jsディレクトリから手動で削除すると、ページの読み込み時に自動生成されません。そのためにも、static-content deployコマンドを適用する必要があります。それから、js&cssファイルで、モジュール固有に行った新しい変更が発生しています。


0

走れば

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

静的アセットのデプロイ前に、Magentoはpub / staticディレクトリに、ベンダーのファイルへの(コピーではなく)シンボリックリンクを作成します。

したがって、毎回bin / magento setup:static-content:deployを実行せずに、テーマ内のファイルとpub / staticで生成されたファイルを自動的に変更できます。

これで、タスクランナーを使用してファイルをコンパイルし、CSSを生成できます。


0

問題は、pub / staticのコンテンツ全体を削除すると、.htaccessファイルも削除されるため、開発者モードで静的リソースへのシンボリックリンクを生成するときに問題が発生することです。

そう、

  1. .htacessファイルは削除しないでください。
  2. 特定のテーマのディレクトリのみを削除します。pub / static / frontend / Your / themeのコンテンツのみを削除します

私の経験から、開発者モードで静的ファイルへのシンボリックリンクを使用する場合、変更を確認するためにそれらを削除する必要はありません。疑わしい場合は、実行してください

php bin/magento cache:flush
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.