このガイドの目的は、htmx 1.x から htmx 2.x に移行するための手順を提供することです。当社は下位互換性を非常に重視しているため、ほとんどの場合、この移行はほとんどまたはまったく作業を必要としません。
/dist/htmx.esm.js/dist/htmx.amd.js/dist/htmx.cjs.js/dist/htmx.js ファイルは引き続きブラウザでロードできますhx-ws と hx-sse 属性をまだ使用している場合は、拡張機能バージョンにアップグレードしてくださいhtmx.config.scrollBehavior を 'smooth' に戻しますDELETE リクエストでパラメータではなくフォームエンコードされたボディを使用する場合は、htmx.config.methodsThatUseUrlParams を ["get"] に戻します(少しおかしいですが、DELETE は仕様によるとリクエストパラメータを GET のように使用する必要があります。)htmx.config.selfRequestsOnly を false に戻しますhx-on 属性をすべて hx-on: の同等物に変換します <button hx-get="/info" hx-on="htmx:beforeRequest: alert('Making a request!')
htmx:afterRequest: alert('Done making a request!')">
Get Info!
</button>
次のようにします <button hx-get="/info" hx-on:htmx:before-request="alert('Making a request!')"
hx-on:htmx:after-request="alert('Done making a request!')">
Get Info!
</button>
Note that you must use the kebab-case of the event name due to the fact that attributes are case-insensitive in HTML.
htmx.makeFragment() メソッドは、現在 常に Element または DocumentFragment ではなく DocumentFragment を返しますselectAndSwap メソッドを使用している場合、そのメソッドは削除され、内部 htmx API とパブリック htmx API の両方で利用できる swap メソッドに置き換えられました新しいメソッドを使用してスワップするには、次のコードを使用するだけです
let content = "<div>Hello world</div>"; // this is HTML that will be swapped into target
let target = api.getTarget(child);
let swapSpec = api.getSwapSpecification(child);
api.swap(target, content, swapSpec);
swap メソッドのドキュメントは JS API リファレンス でご覧いただけます。
IE は htmx 2.0 ではサポートされなくなりましたが、htmx 1.x は引き続き IE をサポートしており、今後もサポートされます。
これが公式の htmx 1.x -> 2.x アップグレード音楽です