我有一个litElement,我将需要从另一个域消费 . 我的浏览器是Chrome,我使用'聚合物服务'并直接导航到es5-bundle .
点燃元素非常简单 . 只是一些静态文本 .
当我使用 'polymer build'
时,我的条目HTML页面被编译(或转换) . 我看到添加了对 'custom-elements-es5-adapter.js'
的引用,以及其他自定义JavaScript . 当我导航到这个入口页面(在构建文件夹中)时,一切正常 . 但是,如果我用原始的未编译版本替换该编译版本,我在chrome控制台中出现错误 'define is not defined'.
最终我将从另一个域调用它,并且不会使用聚合物构建HTML . (我已经尝试过跨域而且它不起作用)
我需要在客户端中包含什么来消耗聚合物点燃元素?
这是我有的:
<body>
<my-element></my-element>
<script src="../node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
<script type="module" src="./components/my-element.js" crossorigin=""?</script>
</body>
1 回答
lit-element需要转换步骤 . 必须转换浏览器使用的文件 . 如果要部署原始源文件,则部署它们的Web服务器需要自己执行转换步骤(如_970085所述) .
来源:lit-element README:
lit-element README有一个示例,它将在没有转换步骤的浏览器中运行 . 该示例将lit元素库作为模块从unpkg加载,如下所示:
如果你想试试lit-element而不那么混乱,那么这个方法很有用,但Polymer团队不建议在 生产环境 中这样做; AFAIK unpkg无法保证正常运行时间或性能 .