Javascript 如何在脚本模块中使用vaadin文本字段

Javascript 如何在脚本模块中使用vaadin文本字段,javascript,ecmascript-6,polymer,vaadin,web-component,Javascript,Ecmascript 6,Polymer,Vaadin,Web Component,我尝试在脚本模块中使用,但失败了,出现以下消息 未捕获类型错误:解析模块说明符“@vaadin/vaadin lumo styles/color.js”失败。相对引用必须以“/”、“/”或“./”开头 现在我知道ES6不支持“裸”导入说明符 但是有没有一种方法可以在不破坏组件进口的情况下实现这一点呢。 我是说,当然是在当地 这是我的密码: <!doctype html> <html> <head> <!-- Polyfills only needed

我尝试在脚本模块中使用,但失败了,出现以下消息

未捕获类型错误:解析模块说明符“@vaadin/vaadin lumo styles/color.js”失败。相对引用必须以“/”、“/”或“./”开头

现在我知道ES6不支持“裸”导入说明符 但是有没有一种方法可以在不破坏组件进口的情况下实现这一点呢。 我是说,当然是在当地

这是我的密码:

<!doctype html>
<html>
<head>
  <!-- Polyfills only needed for Firefox and Edge. -->
  <script src="node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js"></script>
</head>
<body>

  <script type="module">
    import {PolymerElement, html} from './node_modules/@polymer/polymer/polymer-element.js';
    import './node_modules/@vaadin/vaadin-text-field/theme/lumo/vaadin-text-field.js';

    class MyElement extends PolymerElement {

      static get properties() { return { }}

      static get template() {
        return html`
          <vaadin-text-field></vaadin-text-field>
        `;
      }
    }

    customElements.define('my-element', MyElement);
  </script>

  <my-element></my-element>

</body>
</html>

从“./node_modules/@polymer/polymer/polymer element.js”导入{polymererelation,html};
导入“./node_modules/@vaadin/vaadin text field/theme/lumo/vaadin text field.js”;
类MyElement扩展了聚合关系{
静态获取属性(){return{}}
静态获取模板(){
返回html`
`;
}
}
自定义元素。定义('my-element',MyElement);

注意:我使用的是提供文件而不是polymer CLI

我发现使用
polymer serve
提供文件是解决问题的最快方法

浏览器在导入中只接受一种模块说明符 语句:URL,必须是完全限定的或路径 以/、/或../开头。这适用于导入 特定于应用程序的元素和模块:

但是,在编写可重用组件时,这是一个挑战, 您希望导入使用npm安装的对等依赖项。路径 可能因组件的安装方式而异。So聚合物 支持使用命名为导入说明符的节点样式

其中@polymer/polymer是npm包的名称。(这种风格的 说明符有时称为“裸模块说明符”。)

需要将这些模块说明符转换为路径,然后才能使用它们 服务于浏览器。聚合物CLI可以在构建时转换它们 聚合物开发服务器可以随时转换它们 运行时,这样您就可以在无需构建步骤的情况下测试代码。许多第三方 构建工具,如WebPack和Rollup也支持命名模块