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