2

このjavascriptファイルがあるとします

src/js/functions.js

(function() { 

    crc32 = function(str, crc ) { 
    ...
    }; 
})();

このファイルは静的 Web サイトの一部であり、次のようにテンプレートで crc32() を使用たいと考えています。

index.hbs

<script type="text/javascript" charset="utf-8">
    var crc_checksum = {{checksum solution}};
</script>

もちろん、それには中間ヘルパーが必要です

helpers.js

Handlebars.registerHelper('checksum', function(value){
    this.checksum = return value;
});    

crc32 コードをコピーしてヘルパーに貼り付けたくありません (コードが複製されるため)。外部 JS ファイルをヘルパーの名前空間にロードする方法はありますか?

4

2 に答える 2

2

crc32「node.js」の方法でファイルを作成し、 browserifyを使用してサイトで使用できます。crc32ノードとブラウザーの両方でオブジェクトを使用できるようにする方法は他にもあります。次にrequire、ヘルパーファイルでそれを行うことができます...

src/js/functions.js

(function(exports) {
  exports.crc32 = function (str, crc) { ... };
})(window || module.exports);

helpers.js

var crc32 = require('./src/js/functions').crc32;
Handlebars.registerHelper('checksum', function (value) {
  return crc32(value);
});
于 2014-02-04T02:11:43.950 に答える