2014-08-28 87 views
1

在我見過的創建元素的大多數示例中,註冊元素的腳本在組件的HTML文件中定義,例如,聚合物:在外部腳本中註冊元素

<link rel="import" href="/components/polymer/polymer.html"> 

<polymer-element name="my-element"> 
    <template> 
     ... 
    </template> 
    <script> 
     // convenience wrapper for document.registerElement 
     Polymer('my-element', { 
      ... 
     }); 
    </script> 
</polymer-element> 

可以在外部腳本中進行該註冊,例如,

<script src="my-element.js"></script> 

這似乎是一個有吸引力的選擇,因爲腳本,然後變得可見像JSHint工具,但你失去的屬性自動生成的文檔等

是否有一個流程或一套工具,幫助你獲得兩全其美的好處?

例如以類似的方式將原始模板和腳本合併到單個HTML文件中,以使用Sass預處理CSS?

回答

2

是的。 Polymer支持通過引用外部腳本來註冊元素。見http://www.polymer-project.org/docs/polymer/polymer.html#separatescript。元素在Polymer()的調用中的一個原始原因是爲了支持這一點。它將定義與腳本相關聯。

+0

AFAICT如果我這樣做,那麼index.html將* not *文件的屬性,事件等有沒有辦法使用外部腳本? 想想更多,這就是核心組件頁面的工作方式,它可能會使用不同的文檔組件。 – 2014-08-29 03:19:06

+2

正確。核心組件頁面是一個報廢者,並從內嵌評論中解析出文檔。它需要被教導使用外部腳本。你可以嘗試的一件事是使用Vulcanize和--inline選項。這將內聯.js資源。 _should_然後與核心組件頁面一起工作。 – ebidel 2014-08-29 12:42:45

+1

這是'core-component-page'中的一個缺陷。建議您在此發佈問題單https://github.com/Polymer/core-component-page/issues。 – 2014-08-29 23:38:47