问题描述
Stackblitz将代码编译为es5(或es3)。
问题是Web组件需要类符号才能起作用。
在这里的example中,我正在尝试使用第三方@material Web组件。
有没有办法告诉stackblitz不要编译某些库或不给它目标编译到es6(最好是ES2020)?
解决方法
尝试custom-elements-es5-adapter
导入您的导入或html(取决于您的需求)。
使用custom-elements-es5-adapter.js
的文档import '@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js';
更多示例:
在HTML中使用script src
:Stackblitz
<!DOCTYPE html>
<html lang="en">
<head>
<script src="./node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script>
<script src="./node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
</head>
使用导入custom-elements-es5-adapter.js
:Stackblitz
// These imports must be first.
import '@webcomponents/webcomponentsjs/webcomponents-bundle.js';
import '@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js';
// All other top-level imports should be specified here so that (a) they follow
// the polyfills and adapter and (b) so that stackblitz will convert their
// module specifiers.
import '@polymer/iron-selector/iron-selector.js';