インラインJavaScriptが自動で最適化されていますが、最適化前のコードが正常に動作していても最適化後に動作しない可能性が非常に大きいです。
改行を削除していますが、行コメント(//)が残っているため、それ以降の行が全てコメントになってしまいます。
また改行削除により暗黙的な行末セミコロンの補完処理が無効になるため、行末セミコロンが省略されているとエラーになります。
@g-y さんへ。
ソースを見ていないので何とも言えないですが、そもそもXWRITEやWordPress自体にはJavaScriptを自動的に最適化してくれる機能はないので、考えられるとすれば以下のことになります。
-
高速化プラグイン(Autoptimizeなど)が有効化されており、適切な設定がなされていない。
-
サーバーの最適化機能(エックスサーバーでいえばXPageSpeedやXアクセラレータ)が原因になっている。
この辺りを調整してみて変化はないでしょうか。
※特にJavaScriptの最適化は、@g-y さんご認識のとおり悪影響も大きいですので、あらかじめサーバーやプラグインの設定もご確認いただくと良いかと思います。
XWRITEがリリースされたときからのユーザーです。
現在、XWRITE利用者に向けた資料記事を少しずつ作成しております。
▼FAQ集(非公式です)
https://151en.com/wordpress/20250125/11552/
XWRITEのソースコードで最適化しています。\lib\inline-scripts.php です。
@g-y さま
ご報告いただきありがとうございます。
セミコロンが省略されている場合にエラーになる問題を確認できましたので、処理を見直させていただきます。
以下につきましては再現できず、、お手数をおかけしますが、サンプルのコードを頂くことは可能でしょうか?
引き続きこちらでも調査いたしますが、可能でございましたらご協力いただけますと幸いです。
行コメント(//)が残っているため
@g-y さんへ。
ご提示ありがとうございます。
完全に見落としておりました。確かに記載されていますね。大変失礼いたしました。
そもそもインラインCSSやインラインJSを最適化する旨の記載がどこにも載っていないこと自体が問題な気がしますので、その点も含めた資料の充実化を期待したいところです。
コード内のコメントを見る限り、具体的な処理の流れとしては
- 行コメントが削除される
- 余分な空白が削除される
- 一番最後のセミコロンが削除される
になるのではないかと思いますが、要するに①が想定通りに動いていたり、③が余計なイタズラを働いている、という認識ですよね?
あとは @ito_h さんのおっしゃるとおり、エラーが起こったときのコードを提示いただくと特定容易になると思われます。
XWRITEがリリースされたときからのユーザーです。
現在、XWRITE利用者に向けた資料記事を少しずつ作成しております。
▼FAQ集(非公式です)
https://151en.com/wordpress/20250125/11552/
返信が遅くなってしまいました。すみません。
コメントについては非常に限定されたケースで残ってしまうようです。
私が作成したコードから問題に関連する部分を抜き出して単純化したコードが次のようになります。
const text = /['`"]/; function a(){ const a = ""; // コメント } a(); const a = "a\""; const b = '"b\"'; const c = "a\"b\"c";
最小化の結果
const text=/['"]/;function a(){const a="";//コメント}a();const a="a\"";const b='"b\"';const c="a\"b\"c";
他にもパターンがありそうなのとJSの仕様が改訂されるたびにチェックが必要なので、完璧な最小化は難しいですね。
jsコードの最小化はユーザーの自己責任で行った方がよいと思います。
了解しました。
対応ありがとうございます 😊