如何使用带有咕噜声的dustjs-helpers?

时间:2016-03-03 14:50:20

标签: gruntjs dust.js dust-helpers

我正在使用grunt-dust来编译dustjs模板,但现在我遇到了我需要使用灰尘助手(如@eq)的问题,显然grunt-dust完全无视。< / p>

我在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-helpersgrunt-dust包括在一起?

1 个答案:

答案 0 :(得分:1)

当grunt-dust编译模板时,您不需要帮助程序。编译是将模板转换为Dust函数的过程,并且实际上不会调用帮助程序。

执行时,需要使用可用的dustjs-helpers 呈现。因此,无论您是渲染模板,还是要确保帮助程序附加到您用于渲染的粉尘实例。你只需要它们就可以做到这一点:

receivedPicBase64 = pic1builder.toString();

try {
    byte[] picbytearray = Base64.decode(receivedPicBase64);
    BufferedImage imag = ImageIO.read(newByteArrayInputStream(picbytearray));
    ImageIO.write(imag, imgType, new File(dirName,fileName));    
    }    
catch (IOException ex) {
    showError("Picture not fully received");
    System.out.println("Inside Catch Block");  
    }
finally{
    receivedPicBase64 = "";
    pic1builder.delete(0, pic1builder.length());
    System.out.println("End of Finally Block");

    }