2015-08-13 57 views
2

我正在嘗試利用grunt-wiredep來改變我在spring-boot項目中的源代碼。我可以爲grunt-wiredep生成的URL追加前綴和後綴?

使用bower按預期拉下JS/CSS和依賴關係,grunt-wiredep將更新源代碼,但由於我使用thymeleaf,我需要圍繞URL {@ URL_GOES_HERE}。

這可能嗎? grunt-wiredep是否有前綴/後綴選項? (到目前爲止我還沒有找到)。

電流輸出

<!-- bower-js:start --> 
    <script src="bower_components\bootstrap-colorpicker\js\bootstrap-colorpicker.js"> 
    </script> 
<!-- bower-js:end --> 

希望的輸出:

<!-- bower-js:start --> 
    <script src="@{\bower_components\bootstrap-colorpicker\js\bootstrap-colorpicker.js}"> 
    </script> 
<!-- bower-js:end --> 

回答

2

grunt-wiredep可以利用由original wiredep提供的任何配置選項。

在上面的鏈接,你可以看到,輸出格式可以過配置,GitHub的自述使追加一個隨機類的腳本標籤的例子:

fileTypes: { 
fileExtension: { 
    block: /match the beginning-to-end of a bower block in this type of file/, 
    detect: { 
    typeOfBowerFile: /match the way this type of file is included/ 
    }, 
    replace: { 
    typeOfBowerFile: '<format for this {{filePath}} to be injected>', 
    anotherTypeOfBowerFile: function (filePath) { 
     return '<script class="random-' + Math.random() + '" src="' + filePath + '"></script>'; 
    } 
    } 
}, //... 

因此,例如,你可以覆蓋默認的HTML文件擴展配置塊如下:

html: { 
    block: /(([ \t]*)<!--\s*bower:*(\S*)\s*-->)(\n|\r|.)*?(<!--\s*endbower\s*-->)/gi, 
    detect: { 
    js: /<script.*src=['"]([^'"]+)/gi 
    }, 
    replace: { 
    js: '<script src="@{\\{{filePath}}}"></script>' 
    } 
},