9

我使用grunt-vulcanize從與在新位置相對路徑到vulcanized.html一個導入文件。當文件準備好時,它已將相對路徑更改爲新位置。這是工作的靜態文件,圖像或文件確實不錯,但是......硫化聚合物一次綁定src屬性

在導入文件中我有一些聚合物元素文件:paper-fab.html例如。我的導入文件具有類似的參考:

<link rel="import" href="../myPolymerElementsFolder/paper-fab/paper-fab.html"> 

正如你可以看到line 113 of the imported file,它有兩個屬性resolved by one-time-binding using brackets:出現與src屬性

<iron-icon id="icon" src="[[src]]" icon="[[icon]]"></iron-icon> 

的問題。硫化將其解釋爲路徑,所以它增加了新的相對路徑,解決這樣的事情:

<iron-icon id="icon" src="../myPolymerElementsFolder/paper-fab/[[src]]" icon="[[icon]]"></iron-icon> 

但是,屬性由polymerElement本身解決,所以它不應該包含任何的相對路徑 - 否則它失敗了,所以我需要在每次硫化時手動移除它。它應該工作,當它是聚合物元素綁定屬性時,如icon屬性。解決這樣的事情:

<iron-icon id="icon" src="[[src]]" icon="[[icon]]"></iron-icon> 

據我所知,src屬性是需要更換相對路徑,而不是在這種特殊情況下的特殊情況。

我試着用下面的配置沒有成功:

grunt.initConfig({ 
    //(...) 
    vulcanize: { 
     default: { 
      options: { 
       excludes: ["finalFolder/_Imports.html"] 
      }, 
      files: { 
       "finalFolder/Vulcanized.html": "finalFolder/_Imports.html" 
      } 
     } 
    }, 
}); 

你知道,如果有可能解決這一修改grunt-vulcanize的配置? 我已經開an issue在GitHub的主頁。

回答

1

有可能使用grunt-string-replace plugin並增加了新的任務繁重的文件:

grunt.initConfig({ 
    //(...) 
    'string-replace': { 
     inline: { 
      files: { 
       'finalFolder/Vulcanized.html': 'finalFolder/Vulcanized.html', 
      }, 
      options: { 
       replacements: [ 
        // place files inline example 
        { 
         pattern: /[.]{2}\/Scripts\/bower\/.*\/\[\[src\]\]/g, 
         replacement: "[[src]]" 
        } 
       ] 
      } 
     } 
    } 
});