在polymer.json中有什么额外的依赖,“!”是什么意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在polymer.json中有什么额外的依赖,“!”是什么意思?相关的知识,希望对你有一定的参考价值。
在默认的polymer.json文件中,我看到:
"extraDependencies": [
"bower_components/webcomponentsjs/*.js",
"!bower_components/webcomponentsjs/gulpfile.js",
"manifest.json"
],
文档有点模糊:
Polymer构建工具链的分析器组件无法发现的依赖关系,可能是因为它们不是静态导入的,并且不需要捆绑。
- 为什么工具链不能发现它?
- 如果他们无法被发现,为什么我们需要包括他们?
- 如果他们“不需要捆绑”,他们实际上做了什么?
答案
- 正如文档所述,工具链无法发现这些文件,因为它们不是静态导入的。分析器只知道静态导入,如下所示:
<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知道在构建中包含这些文件。 - Web组件js文件不需要捆绑(请注意它们仍然需要添加到构建中),因为当Chrome等浏览器本身支持它时,您不希望每个应用都使用完整的Web组件polyfill。不应捆绑manifest.json,因为它是获取应用程序元数据所需的独立文件。
以上是关于在polymer.json中有什么额外的依赖,“!”是什么意思?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 std::exception 在 VC++ 中有额外的构造函数?
sbt找不到ebean依赖项(一些未解析的依赖项有额外的属性)