在默认的polymer.json文件中,我看到:
"extraDependencies": [
"bower_components/webcomponentsjs/*.js",
"!bower_components/webcomponentsjs/gulpfile.js",
"manifest.json"
],
文档有点模糊:
Polymer构建工具链的分析器组件无法发现的依赖关系,可能是因为它们不是静态导入的,并且不需要捆绑。
答案 0 :(得分:4)
正如文档所述,工具链无法发现这些文件,因为它们不是静态导入。分析器只知道静态导入,如下所示:
<link rel="import" href="../bower_components/my-component.html">
通过检查浏览器是否本机支持Web组件,以及如果没有加载Web组件polyfill,很可能会导入bower_components/webcomponentsjs/*.js
库动态。对于manifest.json
,它不是作为HTML导入导入的,而是作为清单导入如下:
<link rel="manifest" href="/manifest.json">
如果您使用polymer build
制作应用的生产版本,则需要包含extraDependencies,因此polymer-cli知道将这些文件包含在您的构建中。
网页组件js文件不需要捆绑(请注意,它们仍然需要添加到 build ),因为你不能当像Chrome这样的浏览器本身支持它时,希望每个应用都有完整的网络组件polyfill。不应捆绑manifest.json,因为它是获取应用程序元数据所需的独立文件。