【问题标题】:BabelHelpers is not defined using PolymerBabelHelpers 不是使用 Polymer 定义的
【发布时间】:2017-10-19 15:06:32
【问题描述】:

我正在使用 Polymer 及其构建过程。捆绑的文件是通过我的 polymer.json 文件生成的。

我没有明确使用 Babel,我只是看到它被“纸张自动完成”使用。

访问网站时出现js错误,提示未定义BabelHelpers。

  • 当我使用 MAJ+F5 时,它可以工作!
  • 当我使用 F5 时,它不起作用 (未定义 BabelHelpers)

在本地运行时,它工作正常。当我将它部署到我的服务器时,我遇到了这个问题。

我将它作为一个独立的 Java 应用程序运行,因为它有一个 Spring 后端。 该网站作为多个入口点,它适用于所有其他入口点。

堆栈跟踪:

命令:

polymer build --js-minify --css-minify --html-minify

polymer.json 文件

{
  "entrypoint": "pt.html",
  "builds": [{
      "bundle": true,
      "js": {"compile": true, "minify": true},
      "css": {"minify": true},
      "html": {"minify": false},
      "addServiceWorker": true 
    }],
  "shell": "resources/elements-platform.html",
  "fragments": [
    "resources/html/lazy-resources.html",
    "resources/html/ym-dashboard.html",
    "resources/html/ym-partners.html",
    "resources/html/ym-favorite.html",
    "resources/html/ym-agenda.html",
    "resources/html/ym-todos.html",
    "resources/html/ym-profile.html",
    "resources/html/ym-messages.html",
    "resources/html/shop-list.html",
    "resources/html/shop-detail.html"
  ],
  "sources": [
   "resources/src/**/*",
   "resources/css/**/*",
   "resources/data/**/*",
   "resources/images/**/*",
   "resources/img/**/*",
   "resources/js/*",
   "resources/js/cal/*",
   "resources/js/countdown/*",
   "resources/bower.json"
  ],
  "extraDependencies": [
    "resources/bower_components/webcomponentsjs/webcomponents-lite.min.js"
  ]
}

【问题讨论】:

    标签: polymer babeljs


    【解决方案1】:

    几天前我将 Polymer-cli 更新到最新版本后遇到了同样的问题。但在我的情况下,我的应用程序在本地虚拟主机上抛出了同样的错误(使用自签名证书)。在生产网站上很好。

    实际上,babelHelpers 被注入到您的polymer.json 文件中选择为entrypoint 的文件中。如果您有正确的现有文件,也许可以尝试看看那里。

    这个问题在 github 上存在的问题很少。不幸的是,没有经过验证的答案(Polymer 团队并不真正关心 github 问题)

    https://github.com/Polymer/polymer-cli/issues/787 https://github.com/Polymer/polymer-cli/issues/765

    stackoverflow 上也有同样的问题和答案: polymer-cli - getting "Can’t find variable: babelHelpers" when I set compile to true

    【讨论】:

    • 谢谢,确实我已经看到了那些未解决的问题 :( 我试过没有捆绑版本并且遇到同样的问题
    • @user2447161 可能会尝试在没有服务人员的情况下启动您的应用程序。他们几乎没有 chaching 文件,并且 CTRL+F5 会在当前会话中删除它,但是如果你只点击 f5 服务工作者可以用以前版本的缓存文件重新安装(他们的行为真的很奇怪,我从来没有得到它)​​
    【解决方案2】:

    我也看到'babelHelpers' is undefined。就我而言,它来自 redux.js:

    q='object'==('undefined'===typeof self?'undefined':babelHelpers
    .typeof(self))&&self&&self.Object===Object&&self,r=p||q||
    Function('return this')(),s=r.Symbol,t=Object.prototype,
    

    Babel 助手也像Issue #606 一样被提出,它表示它已解决并关闭。但它或类似的东西又回来了。

    【讨论】:

    • 你好。那么您是删除了 redux.js 还是找到了合适的解决方案?
    • @user2447161 昨天将 Polymer CLI 更新到 1.5.7 后,我的问题就消失了。我正在使用polymer build 创建一个 ES5 代码包。
    【解决方案3】:

    我做了一些更改,但我不知道哪一个解决了这个问题。问题来自纸张自动完成。当我停止使用它时,我不再有问题了。 我仍在使用它,但我做了一些更改:

    • 我确定我使用的是生成的 service-worker
    • 我停止使用我的凉亭 (3.2.1) 中的 JQuery 版本并从 JQuery CDN (2.3.1) 中使用它,因为我看到它有时会导致问题
    • 在 polymer.json 文件中添加 manifest.json

    【讨论】:

      猜你喜欢
      • 2021-02-13
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多