如何使用 bower 获得最新版本的 Polymer 元素?

Posted

技术标签:

【中文标题】如何使用 bower 获得最新版本的 Polymer 元素?【英文标题】:how do you get the latest version of Polymer elements using bower? 【发布时间】:2017-02-26 17:27:33 【问题描述】:

我正在尝试使用 Polymer 的 asp.net 核心 MVC Web 应用程序,并且大部分情况似乎进展顺利。我使用了现在内置的 bower.json 文件来指定所需的包(例如 paper-fab),并且它们被忠实地安装了。几乎每次我都可以使用相应 Polymer 目录页面 (example) 中的包名称和版本。但是有几页(纸纹和纸卡)凉亭找不到指定的版本,所以我尝试了通配符方法,它解决了一个更早的版本。对于纸纹,它似乎没有造成任何问题,但纸卡似乎对我不起作用。

这是我的 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 文件相同的目录中打开 cmd 并从在那里我可以安装 Polymer 目录中显示的版本。例如 bower install --save PolymerElements/paper-ripple 然后相应地更新 bower.json 文件。也许这是最好的方法,而不是依赖手动编辑它并依赖 VS 更新包?

【问题讨论】:

【参考方案1】:

如果您想在每个bower install 命令上安装最新版本,您可以将caret(^) 添加到您所有的凉亭依赖项中。目前,您已经对所有需要使用的版本进行了硬编码。 您可以查看此answer 了解有关凉亭版​​本的更多详细信息

【讨论】:

非常好,非常有帮助,谢谢。不幸的是,我提到的 2 个软件包在 bower 上的最新版本不是最新的。例如,如果我从 cmd 运行 bower info paper-card,它显示 0.1.5 作为最新版本,但聚合物 catalog 显示 1.1.3 作为当前版本,同时还告诉您使用 bower 安装(纸张波纹的情况类似) 实际上,我只是尝试将caret(^) 用于所有软件包,虽然它对某些软件包有效,但它并不适用于所有软件包,包括其中一个有问题的软件包(纸纹)。我得到:“ENORESTARGET 标记/分支 ^ 不存在” 你能发布你是如何使用它的paper-ripple 本来应该是"PolymerElements/paper-ripple": "^", 碰巧我想我找到了一个解决方法,我很快就会添加到我的问题中 就是这个问题,你需要在caret后面加上版本号会是"^1.0.0"

以上是关于如何使用 bower 获得最新版本的 Polymer 元素?的主要内容,如果未能解决你的问题,请参考以下文章

自动化构建之bower

指示 bower 默认使用精确版本,而不是范围

卸载使用不同版本的 npm 安装的 bower

Request to https://bower.herokuapp.com failed with 502

bower ENORESTARGET 未找到标签问题

node,Yeoman,Bower,Grunt的简介及安装