如何使用 Bower 获取最新版本的 Polymer 元素?
how do you get the latest version of Polymer elements using bower?
我正在试验一个使用 Polymer 的 asp.net 核心 MVC 网络应用程序,大部分情况似乎进展顺利。我使用现在内置的 bower.json 文件来指定所需的包(例如 paper-fab),并且它们已尽职地安装。几乎每次我都可以使用相应的 Polymer 目录页面 (example) 中的包名称和版本。但是有几个页面(纸波纹和纸卡)bower 找不到指定的版本,所以我尝试了通配符方法,它解决了更早的版本。对于纸波纹它似乎没有造成任何问题,但纸卡似乎对我不起作用。
这是我的 bower.json 文件:
{
"name": "asp.net",
"private": true,
"dependencies": {
"jquery": "2.2.0",
"jquery-validation": "1.14.0",
"jquery-validation-unobtrusive": "3.2.6",
"polymer": "1.4.0",
"PolymerElements/paper-material": "1.0.6",
"PolymerElements/iron-icons": "1.1.3",
"PolymerElements/iron-image": "1.2.5",
"PolymerElements/paper-button": "1.0.13",
"PolymerElements/paper-icon-button": "1.1.3",
"PolymerElements/app-layout": "0.10.4",
"PolymerElements/paper-header-panel": "1.1.6",
"PolymerElements/paper-toolbar": "1.1.7",
"PolymerElements/paper-drawer-panel": "1.0.10",
"PolymerElements/paper-fab": "1.2.1",
"PolymerElements/paper-item": "1.2.1",
"PolymerElements/paper-listbox": "1.1.2",
"PolymerElements/paper-ripple": "*",
"PolymerElements/paper-card": "*",
"normalize-css": "4.1.1"
},
"resolutions": {
"polymer": "^1.2.1",
"paper-ripple": "^1.0.0",
"font-roboto": "^1.0.1"
}
}
我知道我可以从目录中下载最新版本,但如果可以的话我宁愿继续使用 bower。
当然也有可能是我做错了!
<link rel="import" href="~/lib/bower/paper-card/paper-card.html" />
<paper-material main elevation="0">
@for (int i = 0; i < 10; i++)
{
<paper-card heading="Card @i">
<div class="card-content">Some content @i</div>
</paper-card>
}
</paper-material>
卡片正像这样输出到 DOM(通常在使用 chrome 开发工具时,我可以看到 Polymer 元素中的所有本地 DOM,但在这个中看不到案例):
<paper-card heading="Card 0">
<div class="card-content">Some content 0</div>
</paper-card>
编辑:可能的解决方法
所以我发现,如果我在与 bower.json 文件和 运行 bower 命令,我可以安装 Polymer 目录中显示的版本。例如 bower install --save PolymerElements/paper-ripple
然后相应地更新 bower.json 文件。也许这是最好的方法,而不是依赖手动编辑它并依赖 VS 更新包?
如果您想在每个 bower install
命令上安装最新版本,您可以将 caret(^)
添加到所有 Bower 依赖项中。目前您已经硬编码了所有需要使用的版本。
您可以查看此 answer 以了解有关 Bower 版本的更多详细信息
我正在试验一个使用 Polymer 的 asp.net 核心 MVC 网络应用程序,大部分情况似乎进展顺利。我使用现在内置的 bower.json 文件来指定所需的包(例如 paper-fab),并且它们已尽职地安装。几乎每次我都可以使用相应的 Polymer 目录页面 (example) 中的包名称和版本。但是有几个页面(纸波纹和纸卡)bower 找不到指定的版本,所以我尝试了通配符方法,它解决了更早的版本。对于纸波纹它似乎没有造成任何问题,但纸卡似乎对我不起作用。
这是我的 bower.json 文件:
{
"name": "asp.net",
"private": true,
"dependencies": {
"jquery": "2.2.0",
"jquery-validation": "1.14.0",
"jquery-validation-unobtrusive": "3.2.6",
"polymer": "1.4.0",
"PolymerElements/paper-material": "1.0.6",
"PolymerElements/iron-icons": "1.1.3",
"PolymerElements/iron-image": "1.2.5",
"PolymerElements/paper-button": "1.0.13",
"PolymerElements/paper-icon-button": "1.1.3",
"PolymerElements/app-layout": "0.10.4",
"PolymerElements/paper-header-panel": "1.1.6",
"PolymerElements/paper-toolbar": "1.1.7",
"PolymerElements/paper-drawer-panel": "1.0.10",
"PolymerElements/paper-fab": "1.2.1",
"PolymerElements/paper-item": "1.2.1",
"PolymerElements/paper-listbox": "1.1.2",
"PolymerElements/paper-ripple": "*",
"PolymerElements/paper-card": "*",
"normalize-css": "4.1.1"
},
"resolutions": {
"polymer": "^1.2.1",
"paper-ripple": "^1.0.0",
"font-roboto": "^1.0.1"
}
}
我知道我可以从目录中下载最新版本,但如果可以的话我宁愿继续使用 bower。
当然也有可能是我做错了!
<link rel="import" href="~/lib/bower/paper-card/paper-card.html" />
<paper-material main elevation="0">
@for (int i = 0; i < 10; i++)
{
<paper-card heading="Card @i">
<div class="card-content">Some content @i</div>
</paper-card>
}
</paper-material>
卡片正像这样输出到 DOM(通常在使用 chrome 开发工具时,我可以看到 Polymer 元素中的所有本地 DOM,但在这个中看不到案例):
<paper-card heading="Card 0">
<div class="card-content">Some content 0</div>
</paper-card>
编辑:可能的解决方法
所以我发现,如果我在与 bower.json 文件和 运行 bower 命令,我可以安装 Polymer 目录中显示的版本。例如 bower install --save PolymerElements/paper-ripple
然后相应地更新 bower.json 文件。也许这是最好的方法,而不是依赖手动编辑它并依赖 VS 更新包?
如果您想在每个 bower install
命令上安装最新版本,您可以将 caret(^)
添加到所有 Bower 依赖项中。目前您已经硬编码了所有需要使用的版本。
您可以查看此 answer 以了解有关 Bower 版本的更多详细信息