我开始了一个项目,想要包装一个组件,然后将它分享到另一个项目,但是由于公司的限制,我不能按照文档建议将它发布到github。 我设法通过IIS共享组件,但是我不确定这是否是最好的方法,因为所需的结果是让CDN像将组件引用到应用程序中一样。
以下是代码:
这是我要分享的组件: base-element.html
<!-- Imports polymer -->
<link rel="import" href="bower_components/polymer/polymer.html">
<!-- Defines element markup -->
<dom-module id="base-element">
<template>
<h3>Hello</h3>
</template>
<!-- Registers custom element -->
<script>
Polymer({
is: 'base-element',
// Fires when an instance of the element is created
created: function() {},
// Fires when the local DOM has been fully prepared
ready: function() {},
// Fires when the element was inserted into the document
attached: function() {},
// Fires when the element was removed from the document
detached: function() {},
// Fires when an attribute was added, removed, or updated
attributeChanged: function(attr, oldVal, newVal) {}
});
</script>
</dom-module>
这是 bower.json 文件:
{
"name": "base-element",
"private": true,
"dependencies": {
"polymer": "Polymer/polymer#^1.2.0"
},
"devDependencies": {
"web-component-tester": "^4.0.0"
},
"ignore": []
}
在IIS中,我将其设置为主应用程序,然后设置一个名为client的虚拟应用程序,然后引用此html文件。
在客户端应用的 index.html 文件中
<script src="bower_components/webcomponentsjs/webcomponents.js"></script>
<!-- endbower -->
<!-- endbuild -->
<link rel="import" href="../base-element.html"/>
然后在视图中我要显示组件:
<base-element></base-element>
但是,如果我能够使用 grunt serve 或其他东西来实现这一目标,那将会很好。有什么建议吗?
答案 0 :(得分:0)
一个想法,请在此处查看我对自己问题的回答How can I replace the server in Web Component Tester
这表明使用代理服务器将基本元素的请求转发到主运行服务器。 (或使用nodejs样式服务器的另一个实例)。
答案 1 :(得分:0)
看看这是否有帮助 - Using Bower as the Package Management tool for Internal, Private Libraries
您可以通过私有存储库共享您的组件,这可以作为bower依赖项包含在内。查看documentation。