昨天我的应用程序工作得很好但是当我现在做 polymer serve -o 时它会打开应用程序并在控制台中打印此错误 .
polymer serve -o
Class constructor PolymerElement cannot be invoked without 'new'
在将Polymer App移至v.2后的另一天,我遇到了类似的错误 .This帮助我:
要解决此问题,请在声明新的自定义元素之前加载custom-elements-es5-adapter.js . 由于大多数项目需要支持不需要支持ES6的各种浏览器,因此将项目编译为ES5可能是有意义的 . 但是,ES5样式的自定义元素类不适用于本机自定义元素,因为ES5样式的类无法正确扩展ES6类,如HTMLElement .
我将我的Polymer App构建为es5-bundled,并使用WebView将其提供给Android App . 这个问题经常出现 .
清除浏览器缓存中的缓存文件和图像 .
如果加载了custom-elements-es5-adapter.js,请将其删除 .
然后使用$ polymer serve - 编译永远 .
根据this post,这个问题是因为$ polymer serve会自动将代码编译为es5 . --compile never flag会阻止$聚合物发挥作用 .
在 polymer.json 中,将 custom-elements-es5-adapter 添加到 excludes 数组以阻止其编译为ES5 .
polymer.json
custom-elements-es5-adapter
excludes
"builds": [ { "bundle": { "stripComments": true, "inlineCss": true, "sourcemaps": false, "excludes": [ "bower_components/webcomponentsjs/webcomponents-loader.js", "bower_components/webcomponentsjs/custom-elements-es5-adapter.js" ] }, "js": { "compile": true, "minify": true }, "css": { "minify": true }, "html": { "minify": true }, "addServiceWorker": false
4 回答
在将Polymer App移至v.2后的另一天,我遇到了类似的错误 .
This帮助我:
我将我的Polymer App构建为es5-bundled,并使用WebView将其提供给Android App . 这个问题经常出现 .
清除浏览器缓存中的缓存文件和图像 .
如果加载了custom-elements-es5-adapter.js,请将其删除 .
然后使用$ polymer serve - 编译永远 .
根据this post,这个问题是因为$ polymer serve会自动将代码编译为es5 . --compile never flag会阻止$聚合物发挥作用 .
在
polymer.json
中,将custom-elements-es5-adapter
添加到excludes
数组以阻止其编译为ES5 .