在polymer.json中有什么额外的依赖,“!”是什么意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在polymer.json中有什么额外的依赖,“!”是什么意思?相关的知识,希望对你有一定的参考价值。

在默认的polymer.json文件中,我看到:

"extraDependencies": [
  "bower_components/webcomponentsjs/*.js",
  "!bower_components/webcomponentsjs/gulpfile.js",
  "manifest.json"
],

文档有点模糊:

Polymer构建工具链的分析器组件无法发现的依赖关系,可能是因为它们不是静态导入的,并且不需要捆绑。

  • 为什么工具链不能发现它?
  • 如果他们无法被发现,为什么我们需要包括他们?
  • 如果他们“不需要捆绑”,他们实际上做了什么?
答案
  1. 正如文档所述,工具链无法发现这些文件,因为它们不是静态导入的。分析器只知道静态导入,如下所示: <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">
  2. 如果您使用polymer build进行应用程序的生成构建,则需要包含extraDependencies,因此polymer-cli知道在构建中包含这些文件。
  3. Web组件js文件不需要捆绑(请注意它们仍然需要添加到构建中),因为当Chrome等浏览器本身支持它时,您不希望每个应用都使用完整的Web组件polyfill。不应捆绑manifest.json,因为它是获取应用程序元数据所需的独立文件。

以上是关于在polymer.json中有什么额外的依赖,“!”是什么意思?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 std::exception 在 VC++ 中有额外的构造函数?

pypi依赖中的“额外”是啥?

我在 ipad 场景中有额外的“单元格”/行

sbt找不到ebean依赖项(一些未解析的依赖项有额外的属性)

在 Visual Studio 中向解决方案添加额外的链接器输入依赖项

向未捕获的异常添加额外信息