コメントを使用して静的データをJavascriptに保存する

作成されるコンポーネントは、多くの静的データに関連付けられる場合があります。 このデータをJavaScriptに保存する唯一の「通常の」方法は、文字列を使用することです。 しかし、複数行のデータを行に格納するのは不便です。なぜなら、 各行には追加のフォーマットが必要です。 さらに、キャラクターのエスケープに従う必要があります。



原則として、この方法は表面にありますが、誰もがこの側面でそれについて考えたわけではありません。 さらに、縮小化についてコメントする必要があります。 彼女は有用なコメントをカットすべきではありません。



したがって、必要なのは、コメントのテキストコンテンツを取得することだけです。 ただし、リフレクションを通じてコメントを取得することはできません。 ただし、仕様によると、Function.prototype.toString()は関数のテキスト表現を返します。 コメントを含む。 したがって、コメントを関数の本文に含める必要があります。



例を挙げましょう。 やや不自然ですが、反射的です。 jsコンポーネントを使用して、スタイルを単一のファイルに保存します。



const Component = (function ($) { const initialize = (function () { var isInited = false; function css() { /*content-start .component, .component * { font-family: Arial; font-size: 12px; line-height: 1; color: #4D4D4D; padding: 0px; margin: 0px; } content-end*/ } return function () { if (isInited) return; isInited = true; (function () { const startStr = '/*content-start', endStr = 'content-end*/', fnStr = css.toString(), textStart = fnStr.indexOf(startStr) + startStr.length, textEnd = fnStr.lastIndexOf(endStr), text = fnStr.substring(textStart, textEnd).trim(); $(document.head).append($('<style type="text/css"/>').html(text)); })(); }; })(); return function () { initialize(); this.x = 5; this.y = 10; this.elem = $('<div class="component"/>').text('x = ' + this.x + '; y = ' + this.y); }; })(jQuery);
      
      







そして、どんなアプローチも悪と善の両方に使用できることを忘れないでください。 それはすべてあなたの目標に依存します。

すべてに良い)



All Articles