Mar*_*ero 9 javascript gruntjs polymer polymer-1.0 grunt-string-replace
我在导入文件中使用grunt-vulcanize,其中包含在新位置使用vulcanized.html的相对路径.文件准备就绪后,它已更改到新位置的相对路径.这对于静态文件作为图像或文件非常有用,但是......
在导入文件中,我有一些聚合物元素文件:例如paper-fab.html.我的导入文件有一个像:
<link rel="import" href="../myPolymerElementsFolder/paper-fab/paper-fab.html">
Run Code Online (Sandbox Code Playgroud)
正如您在导入文件的第113行中所看到的,它有两个使用括号通过一次性绑定解析的属性:
<iron-icon id="icon" src="[[src]]" icon="[[icon]]"></iron-icon>
Run Code Online (Sandbox Code Playgroud)
问题出现在src属性中.硫化将其解释为路径,因此它添加了新的相对路径,解析如下:
<iron-icon id="icon" src="../myPolymerElementsFolder/paper-fab/[[src]]" icon="[[icon]]"></iron-icon>
Run Code Online (Sandbox Code Playgroud)
但是这个属性是由PolymerElement本身解决的,所以它不应该包含任何相对路径 - 否则它会失败,所以我需要在每次硫化时手动删除它.当它是聚合物元素绑定属性时,它应该工作,就像icon属性一样.解决这样的事情:
<iron-icon id="icon" src="[[src]]" icon="[[icon]]"></iron-icon>
Run Code Online (Sandbox Code Playgroud)
我知道src属性是需要替换相对路径的特殊情况,但不是在这种特殊情况下.
我尝试使用以下配置但没有成功:
grunt.initConfig({
//(...)
vulcanize: {
default: {
options: {
excludes: ["finalFolder/_Imports.html"]
},
files: {
"finalFolder/Vulcanized.html": "finalFolder/_Imports.html"
}
}
},
});
Run Code Online (Sandbox Code Playgroud)
你知道是否有可能解决这个修改grunt-vulcanize的配置?我已经在gitHub主页中打开了一个问题.
可以使用grunt-string-replace 插件并向 grunt 文件添加新任务:
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]]"
}
]
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
298 次 |
| 最近记录: |