使用未发布的Polymer2自定义元素

时间:2018-01-16 09:13:44

标签: javascript dependencies polymer-2.0

我是使用Polymer 2的新手。 我创建了两个自定义元素,我们称之为<a-elem><b-elem>。我想在一个名为<c-elem>的新元素中将这两个一起使用。 因此,在开发<c-elem>时,我不能只bower install --save a-elem b-elem,因为这些内容尚未在线发布。但在测试所有内容之前,我不想发布它们。我可以复制他们的目录并将它们粘贴到c-elem的/ bower_components文件夹中,但由于/ bower_components是生成的文件夹,因此不会将其推送到私有git仓库,因此每当同事想要使用{{ 1}},他会遗漏这些依赖关系。请记住,我对Web开发非常陌生并希望遵循最佳实践,因此对于某些人来说这可能是一个简单的答案。经过几个小时的研究,我找不到任何“聚合方式”。那么也许只需创建一个文件夹/ lib并将其复制到那里?但是,我对c-elema-elem所做的所有更改都不会更改b-elem中的副本。

如何以正确的方式将c-elema-elem加入b-elem(最好是设置依赖关系)?

编辑:另外如果解决方案是将元素复制到/ lib文件夹中,c-elem演示中的html导入将完全错误。所以我必须创建一个完整不同版本的c-elema-elem。这不是唯一的方法。

1 个答案:

答案 0 :(得分:2)

在这篇文章bower registering local git package中找到答案。

它不是聚合物的东西,但真的更像是凉亭的东西。所以寻找&#34;聚合物方式&#34;自然没有用过任何东西。现在,我将在c-elem bower.json 文件中包含这样的本地git存储库:

{
  "name": "c-elem",
  "description": "Description to c-elem",
  "main": "c-elem.html",
  "dependencies": {
    "polymer": "Polymer/polymer#^2.0.0",
    "b-elem": "C:/local/path/to/b-elem/.git",
    "a-elem": "C:/local/path/to/c-elem/.git""
  },
  "devDependencies": {
    "iron-demo-helpers": "PolymerElements/iron-demo-helpers#^2.0.0",
    "web-component-tester": "Polymer/web-component-tester#^6.0.0",
    "webcomponentsjs": "webcomponents/webcomponentsjs#^1.0.0"
  },
  "resolutions": {
    "polymer": "^2.0.0"
  }
}

通过执行此操作bower install将自定义元素保存在/ bower_components文件夹中,bower update将在每次提交git存储库时刷新依赖项。

我必须更改它以在设置时使用私有git repo,但可能只需将本地路径更改为url或类似的东西即可。如果你知道如何准确地做到这一点,我欢迎发表评论:)