我是第一次尝试 WebComponents,并尝试使用 lit。一直显示这个错误
我的 HTML 文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./styles.css">
<script type="module" src="app.js"></script>
<title>Document</title>
</head>
<body>
<payment-sdk></payment-sdk>
</body>
</html>
import {LitElement, html, css} from 'lit';
我尝试从 HTML 中删除 module 属性,但仍然不起作用。它现在给出了错误
javascript es6 import "expects exactly one argument"
我也在考虑使用 Babel 来编译它,但我认为它不会起作用,因为我仍然遇到错误 我还在我的包中添加了
"type": "module"
,json文件
您正在使用 ESM 来实现您的依赖
lit
。当您以这种方式使用 ESM 时,您应该为导入提供绝对路径。
因此,您应该指定它的绝对 URL,而不是简单地执行
import {} from "lit"
,例如 import {} from "../../node_modules/lit.index.js"
(或任何正确的路径)
如果您自己没有
lit
的 ESM 副本,您也可以使用 esm.sh
等 ESM CDN。要使用它们,请将以下脚本标签添加为 head 标签的第一个子标签
<script type="importmap">
{
"imports": {
"lit": "https://esm.sh/[email protected]",
}
}
</script>
在这里,我们告诉浏览器从我们映射到的 URL 加载
lit