nodejs でテンプレートをプリコンパイルするために、高速用のハンドルバー テンプレート プリコンパイラ ( https://github.com/diffsky/hbsc ) を使用しています。
ローカルで実行するとうまく機能しますが、cloud9 ide ( https://c9.io ) で試してみると、最初は機能し、例外しか発生しません。
これは app.js からの私の構成です
var hbsc = require('hbsc');
hbsc.compile({
dir: __dirname + '/views/public',
outfile: __dirname + '/public/javascripts/compiled-templates.js',
extensions: ['hbs', 'handlebars']
});
これは私のシンプルなテンプレートです
<b>All users</b>
<div>
{{#each this}}
<li>{{email}}</li>
{{/each}}
</div>
そして、これは私が得ている例外です
/var/lib/stickshift/5168822b4382ec505c0000ba/app-root/data/471704/views/public/listusers.handlebars:1
(function (exports, require, module, __filename, __dirname) { <b>All users</b>
^
SyntaxError: Unexpected token <
at Module._compile (module.js:437:25)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
コンパイル済みのテンプレート ファイルを削除してしばらくしてから再試行すると、(時々) 成功しますが、テンプレートを変更するとエラーが返されます。
繰り返しますが、このコードは localy を実行すると完全に機能するため、cloud9 は別の方法で処理しているように見えます。
このエラーにはロジックが見つからないため、本当に困惑しています。この問題を解決するためにどこから始めるべきかについて、誰かが私に洞察を与えることができますか?