HMPL の新しいバージョンには JSON5 モジュールが統合されており、作業が質的に数倍向上します。この記事では、なぜこれを行うのか、なぜ必要なのかについて詳しく説明したいと思います。
JSON5について
まず第一に、JSON に関する長年の問題に注目する価値があります。この問題は JavaScript に存在し、実際、この形式で動作する他のほぼすべてのプログラミング言語にも存在します。
オブジェクトを扱うとき、すべてが便利で実用的であるように思えます。 JSON は非常に便利ですが、JSON.parse と JSON.stringify があるのに、ほとんどすべての作業で役立つのに、なぜ追加のパッケージが必要なのでしょうか?ただし、次のコードを見てみましょう:
const user = { id: 0, name: "Tony", age: 43, hobbies: ["Building anthill"], }; const jsonString = JSON.stringify(user);
それでは、得られた内容をコンソールに出力してみましょう:
console.log(jsonString); // output - {"id":0,"name":"Tony","age":43,"hobbies":["Building anthill"]}
一見普通の文字列が得られました。これは解析で簡単に元に戻すことができ、すべてが素晴らしいです。この文字列だけがディスク上で「多くの」スペースを占めます。また、これをすべて手動で書いた場合を想像してみてください。便利なオブジェクトを介してJavaScriptで?はい、これがこの機能の主な問題です。
同じ JavaScript オブジェクトを取得し、それを文字列に通常のように記述すると、JSON.Parse はそれを解析せず、エラーが発生します。
const userString = `{ id: 0, name: "Tony", age: 43, hobbies: ["Building anthill"], }` JSON.parse(userString); // Uncaught SyntaxError: Expected property name or '}' in JSON at position 6 (line 2 column 5) // at JSON.parse (<anonymous>) </anonymous>
これを修正するには、文字列を形式に合わせて調整する必要があります。これを行うには、オブジェクトのプロパティの近くに二重引用符を手動で常に記述する必要があります。最後にカンマを入れたり、JS のように文字列にコメントを書き込んだりしないようにする必要があります。便利な機能はありますが、手動で記述するものとして考えると、信じられないほどです。誰もが JSON ではなく JS オブジェクトを手動で記述することに慣れているため、不便です。
つまり、JSON5 モジュールを使用すると、JS とほぼ同じように文字列を記述でき、上記の問題は発生しません。
import JSON5 from "json5"; const userString = `{ id: 0, name: "Tony", age: 43, hobbies: ["Building anthill"], }` JSON5.parse(userString); /* { id: 0, name: "Tony", age: 43, hobbies: ["Building anthill"], }; */
モジュール自体のスローガンにも「JSON5 – JSON for Humans」と書かれています。
もちろん、この問題は一見すると重要ではないように見えるかもしれませんが、それはそれが日常的な問題になるまでのことです。引用符を一度修正したり、カンマを削除したりするのは問題ありませんが、それを毎日手動で行うのは非常に面倒です。したがって、この問題を解決するモジュールの 1 つとして、これらすべてに最適です。
抽象的な例ではなく、仕事で使用される具体的な例を思い出すこともできます。コードアセンブラなどを使用するときに、設定ファイルを設定したことがありますか?同じリンター、プレフィクサー、モジュール ビルダー、さまざまなテキスト エディター - これらはすべて、JSON 経由も含めて機能します。
そして通常、そのようなファイルはユーザーによって手動で埋められます。そして、そのような瞬間を解析する必要があります。たとえば、これは構成の例です:
const user = { id: 0, name: "Tony", age: 43, hobbies: ["Building anthill"], }; const jsonString = JSON.stringify(user);
そして、そのようなオブジェクトもアプリケーション側で解析する必要があります。これらのパラメータには、任意の形式を使用でき、コメントやその他のジョークも含めることができます。このようなパーサーを手動で作成するのはコスト効率が悪く、単純に不必要です。
HMPLのメリットについて
HMPL モジュールは拡張 HTML マークアップに基づいており、これにオブジェクトを渡し、出力でサーバーから準備完了のコンポーネントを受け取ります。コードの例を見てみましょう:
console.log(jsonString); // output - {"id":0,"name":"Tony","age":43,"hobbies":["Building anthill"]}
バージョン 2.2.0 より前は、モジュールは JSON.parse に基づいていたため、この全体が完全に不便でした。 stringify 関数が導入され、どういうわけかこの点を回避しましたが、まだ別の .hmpl ファイルにあることは明らかで、js コードを記述するには問題があります。 stringify とファイルの例を次に示します:
const userString = `{ id: 0, name: "Tony", age: 43, hobbies: ["Building anthill"], }` JSON.parse(userString); // Uncaught SyntaxError: Expected property name or '}' in JSON at position 6 (line 2 column 5) // at JSON.parse (<anonymous>) </anonymous>
mail.hmpl:
import JSON5 from "json5"; const userString = `{ id: 0, name: "Tony", age: 43, hobbies: ["Building anthill"], }` JSON5.parse(userString); /* { id: 0, name: "Tony", age: 43, hobbies: ["Building anthill"], }; */
したがって、サイトをさらに高速化し、サイズを小さくするには、JSON5 との統合が最善の方法だと思います。 JavaScript からオブジェクトをコピーして HTML ファイルに貼り付けるだけなので、一般的に非常に便利です。
ちなみに、モジュールのリポジトリ自体はここにあります。このモジュールが役立つと思われる場合は、星を付けて評価していただければ幸いです :)
hmpl言語
/
ほら
? JavaScript 用のサーバー指向のカスタマイズ可能なテンプレート

JavaScript 用のサーバー指向のカスタマイズ可能なテンプレート
使用法
「hmpl-js」から hmpl をインポートします。 const templateFn = hmpl.compile( `<div>; <button data-action="increment"> <div> <div> <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24"><title>全画面モードに入る</title> <path d="M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24"><title>全画面モードを終了します</title> <path d="M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z"></path> </svg> </div> </div> </button> </div> <div> <h2 id="HMPL-を使用する理由">HMPL を使用する理由</h2> </div> <p dir="auto">使用中…</p>
以上がHMPL と JSON5 の統合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
