首页 文章

没有'new'就不能调用类构造函数PolymerElement

提问于
浏览
7

昨天我的应用程序工作得很好但是当我现在做 polymer serve -o 时它会打开应用程序并在控制台中打印此错误 .

Class constructor PolymerElement cannot be invoked without 'new'

4 回答

  • 7

    在将Polymer App移至v.2后的另一天,我遇到了类似的错误 .
    This帮助我:

    要解决此问题,请在声明新的自定义元素之前加载custom-elements-es5-adapter.js . 由于大多数项目需要支持不需要支持ES6的各种浏览器,因此将项目编译为ES5可能是有意义的 . 但是,ES5样式的自定义元素类不适用于本机自定义元素,因为ES5样式的类无法正确扩展ES6类,如HTMLElement .

  • 0

    我将我的Polymer App构建为es5-bundled,并使用WebView将其提供给Android App . 这个问题经常出现 .

  • 2
    • 清除浏览器缓存中的缓存文件和图像 .

    • 如果加载了custom-elements-es5-adapter.js,请将其删除 .

    • 然后使用$ polymer serve - 编译永远 .

    根据this post,这个问题是因为$ polymer serve会自动将代码编译为es5 . --compile never flag会阻止$聚合物发挥作用 .

  • 0

    polymer.json 中,将 custom-elements-es5-adapter 添加到 excludes 数组以阻止其编译为ES5 .

    "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
    

相关问题