1

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 は別の方法で処理しているように見えます。

このエラーにはロジックが見つからないため、本当に困惑しています。この問題を解決するためにどこから始めるべきかについて、誰かが私に洞察を与えることができますか?

4

1 に答える 1