0

私はgrunt-dustdustjsテンプレートをコンパイルするために使用していますが、@eq明らかにgrunt-dustが完全に無視するダストヘルパー(のような)を使用する必要があるという問題に遭遇しました。

npm 経由でインストールdustjs-helpersしましたが、それらを処理するために grunt 構成を調整する方法がわかりません。関連する部分を維持するために単純化しました。

grunt.initConfig( {
    ...

    dust: {
        defaults: {
            files: {
                'public/js/views.js': [ ... directories ... ]
            },
            options: {
                wrapper:  false,
                basePath: 'private/',
                useBaseName: true,
                wrapperOptions: {
                    templatesNamesGenerator: function( options, file ) {
                        // returns an altered template name
                    }
                }
            }
        }
    },

    ...
} )

...

grunt.loadNpmTasks('grunt-dust')

...

grunt.registerTask( ... )

これまでのところ、正常に動作し、dustjs テンプレートを期待どおりにコンパイルします。

dustjs-helpersを含めるにはどうすればよいgrunt-dustですか?

4

1 に答える 1

1

grunt-dust がテンプレートをコンパイルするときに利用できるヘルパーは必要ありません。コンパイルは、テンプレートをダスト関数に変換するプロセスであり、ヘルパーは実際には呼び出されません。

必要なときは、 dustjs-helpers をレンダリング中に使用できます。したがって、テンプレートをどのようにレンダリングする場合でも、レンダリングに使用しているダスト インスタンスにヘルパーがアタッチされていることを確認する必要があります。それを行うには、次のように要求するだけです。

let dust = require('dustjs-linkedin');
require('dustjs-helpers'); // helpers autoattach to the `dust` object

dust.render(template, context); // this template will be able to use helpers
于 2016-03-23T23:56:18.037 に答える