我可以用NPM安装Polymer(1.0)吗?

Zac*_*bey 10 npm polymer polymer-1.0

我正在尝试在一个新项目上使用Polymer,并试图避免使用Bower支持NPM进行前端依赖管理.

入门页面提供了使用鲍尔(和使用.zip文件等)的指令,但没有提及防范机制.

我之前通过直接指向GitHub仓库使用了NPM,但我似乎无法让它适用于Polymer.

当我运行这个:

npm install git@github.com:Polymer/polymer.git#v1.0.5
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误的ERR!notarget未找到兼容的版本:git@'github.com:Polymer/polymer.git'

错误的ERR!notarget有效的安装目标:

错误的ERR!notarget ["0.1.0","0.1.1","0.1.2","0.1.3","0.1.4","0.1.5"]

有什么我想念的,或者我需要咬紧牙关并使用Bower?

Tyc*_*cho 14

从早期的答案开始,Polymer现在确实可以在NPM上使用.要安装它:

npm i Polymer
Run Code Online (Sandbox Code Playgroud)

请注意,它不包括标准元素集合; 那些可以在这里找到:

npm i npm-polymer-elements
Run Code Online (Sandbox Code Playgroud)

然后,您可以将它们包含在HTML中:

<!-- for custom elements -->
<link rel="import" href="/node_modules/@polymer/polymer/polymer.html"/>
<!-- for standard elements -->
<link rel="import" href="/node_modules/paper-button/paper-button.html"/>
<paper-button>click</paper-button>
Run Code Online (Sandbox Code Playgroud)

不幸的是,目前似乎还没有通过webpack加载Polymer ,这意味着如果您的node_modules(或bower_components)文件夹不在公共可访问的位置,您可能希望在将来的更新后进行Grunt/Gulp任务复制...

  • 除了使用`npm-polymer-elements`包之外,您还可以获得官方项目用户帐户维护的每个元素的单独包:https://www.npmjs.com/~polymer例如,您可以获得`@聚合物/纸按钮`或`@ polymer/iron-flex-layout` (6认同)
  • 这个答案大多是正确的,但我遇到了'npm i @ polymer/polymer'...'npm i Polymer'(注意首都'P')似乎工作正常. (2认同)

syn*_*ynk 5

编辑2016年10月25日 的聚合物队在宣布聚合物峰会2016,他们将寻找到支持npm通过纱线.

[sudo] npm install -g yarn yarn add Polymer yarn install --flat

老AWNSER

目前没有办法,我知道的获得与NPM聚合物运行.

聚合物意味着与Bower合作.该声明在聚合物的全部依赖https://github.com/Polymer/polymer/blob/master/bower.jsonwebcomponentsjs不会被下载.因此,如果您不想手动下载每个依赖项,则应使用bower.

  • 呃......越来越多的人正在从Bower转向前端依赖管理,转而支持NPM.查看[此NPM博客条目](http://blog.npmjs.org/post/101775448305/npm-and-front-end-packaging),[此中级文章](https://medium.com/@nickheiner/why-my-team-uses-npm-instead-bower-eecfe1b9afcb)和[this Bower GitHub*issue*](https://github.com/bower/bower/issues/1520).我个人已经在几个月前完成了转换,我非常不愿意回去.当NPM3出来时,它应该真的把钉子放在棺材里. (8认同)
  • Polymer团队有兴趣在未来使用npm,并与npm的优秀人员进行了讨论.还有一些问题需要解决,但是npm3让我们更接近于能够直接使用npm.你可以在这里找到更多的讨论:https://github.com/Polymer/polymer/issues/326#issuecomment-113594766 (8认同)

Tid*_*ddo 5

Polymer的主要问题是标记的构建提交没有package.json,因此无法安装它们npm(例如参见v1.1.1).这意味着为了安装Polymer,npm你需要一些辅助工具.也许最好的候选人是纳帕.

Napa是一个用于安装没有(有效)的git项目的软件包package.json.npm页面已经解释了如何使用它,这里是Polymer的快速摘要:

  1. npm install napa --save-dev
  2. 更新您package.json的包含此内容(将xyz替换为您想要的版本):

    {
        "scripts" : {
            "install" : "napa"
        },
        "napa" : {
            "polymer" : "polymer/polymer#vX.Y.Z"
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

请注意,napa只需将repo克隆到node_modules文件夹中,因此不会在其旁边安装聚合物的依赖关系,但您可以保留所有配置,package.json而不必使用bower.