20

我是 lit-element 的新手,当使用 import 包含库时,我收到以下错误:

未捕获的类型错误:无法解析模块说明符“lit-element”。相对引用必须以“/”、“./”或“../”开头。

请提供任何替代方案/解决方案。

import { LitElement, html } from 'lit-element';

class MyElement extends LitElement {
  render(){
    return html`
      <div>
        <p>A paragraph</p>
      </div>
    `;
  }
}
customElements.define('my-element', MyElement);

4

2 回答 2

14

这不起作用,因为 js 导入必须引用具有相对路径或绝对路径的特定文件,假设您的项目结构如下所示:

/node_modules
  /lit-element
  /other-library
/src
  /components
    my-element.js
index.html

my-element.js,您的进口将是

import {LitElement, html} from '../../node_modules/lit-element/lit-element.js'

但是,由于这种配置令人困惑,并且您可能最终也会在某个时候设置构建脚本,因此建议保持您现在的导入并使用将您的导入重新映射为node_modulesopen -wc 的开发服务器网络服务器

更新(2021 年 2 月):这个问题中提到的 Web 服务器已经经历了一些迭代和改进。当前的包是@web/dev-server

于 2019-06-11T07:54:59.390 回答
-1

您可以使用 polimer-cli 提供裸模块导入。

一个。安装它:npm install --save-dev polymer-cli

湾。在您的项目中创建polymer.json大致内容:

{
    "entrypoint": "index.html",
    "shell": "app.js",
    "npm": true
}

C。做polymer serve

于 2021-09-01T10:06:22.713 回答