Bower Installed Polymer已损坏但Web托管的库有效

时间:2015-10-29 21:50:44

标签: polymer bower bower-install

我按照Bower安装方法按照Polymer Project网站上的建议安装Polymer库。具体来说,我从项目的实时Web文件夹的根目录运行这些命令。操作系统是亚马逊Linux:

bower init
bower install --save Polymer/polymer#^1.2.0
bower update

这会生成以下文件/文件夹:

/bower.json
/bower_components/*
/bower_components/polymer/*
/bower_components/webcomponentsjs/*

为了测试这些库是否已成功安装,我继续抓住教程中的一个示例并尝试了它。只有这段代码的第一行才会受到质疑,但我将其全部用于解决这里代码有问题的问题:

元素/原element.html

// THIS is the line that doesn't work. The file exists, it was 
// installed in the correct location. However, the polymer.html file 
// itself appears to be broken
<link rel="import" href="../bower_components/polymer/polymer.html">

// HOWEVER, if I change it to link the library in from the web, everything 
// works perfectly. As in this example:
<!--<link rel="import" href="http://www.polymer-project.org/1.0/components/polymer/polymer.html">-->

<polymer-element name="proto-element">
  <template>
  <span>Hello World.</span>
  </template>
  <script>
    Polymer({
      ready: function() {
      }
    });
  </script>
</polymer-element>

的index.html

<!DOCTYPE html>
<html lang="en">
<head>
<script src="bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
<link rel="import" href="elements/proto-element.html">
</head>
<body>
<proto-element></proto-element>
</body>
</html>

我检查了有问题的polymer.html文件。安装了bower的文件与Web上提供的文件完全不同。我想我的问题是 - 聚乙烯的凉亭安装刚好坏了吗?为什么Bower安装的版本不是主动稳定版本?我错过了什么吗?

如果您打开网络版的代码,它会被清楚地标记为版本0.5.5,即使它是从/1.0/池中提取的。

bower版本在代码中没有版本标记,所以我不确定它是哪一个,但我必须假设它是最新的1.2.x稳定版本,因为它是在install命令中指定的。我会注意到我确实尝试过它而没有指定任何版本(应该只安装最新版本)但是仍然没有用。

结论

Bower安装的库毕竟是工作文件。问题是我从Polymer-Project.org网站上的“入门”教程中提取的示例已经过时。要非常小心选择 v。从右上角1.0

1 个答案:

答案 0 :(得分:1)

这不会起作用,因为你正在使用旧的声明元素的方式(在v0.8之前)。

以下是您宣布新元素的方式:

<dom-module id="my-element"> <!-- ID must be the same as that of the name of the element you declared. -->
  <template> <!-- Styles used to be declared outside the template v0.8 to v1.0. At v1.1 it is now declared inside the template (the outside declaration still works, it's just slow and discouraged).  -->
    <style> 
      :host {
        display: block;
      }
    </style>
    <div>Hello {{name}}.</div>
  </template>
</dom-module>

<script>
  Polymer({
    is: 'my-element', // you must declare the name of your element
    properties: { // declare your element's properties here
        name: {
            type: String,
            value: 'Neil'
        }
    }
  });
</script>

此外,图书馆的官方中心/ CDN位于http://polygit.org,而非官方网站。