简体   繁体   English

TypeError:_ember.default.HTMLBars._registerHelper不是函数

[英]TypeError: _ember.default.HTMLBars._registerHelper is not a function

I updated my app with some new packages. 我用一些新软件包更新了我的应用程序。 Now, I'm getting an error in my browser debugger console: 现在,我的浏览器调试器控制台出现错误:

TypeError: _ember.default.HTMLBars._registerHelper is not a function

I launch ember server and none of my content displays in the generated index.html. 我启动了ember server并且在生成的index.html中没有任何内容显示。

package.json

{
  "name": "MyApp",
  "version": "0.0.0",
  "description": "Small description",
  "private": true,
  "directories": {
    "doc": "doc",
    "test": "tests"
  },
  "scripts": {
    "start": "ember server",
    "build": "ember build",
    "test": "ember test"
  },
  "repository": "",
  "engines": {
    "node": ">= 0.10.0"
  },
  "author": "",
  "license": "MIT",
  "devDependencies": {
    "broccoli-asset-rev": "2.4.2",
    "broccoli-merge-trees": "^1.1.1",
    "broccoli-static-compiler": "^0.2.2",
    "ember-cli-app-version": "^1.0.0",
    "ember-cli-babel": "^5.1.6",
    "ember-cli-bootstrap-datepicker": "0.5.5",
    "ember-cli-content-security-policy": "0.5.0",
    "ember-cli-dependency-checker": "^1.2.0",
    "ember-cli-htmlbars": "^1.0.2",
    "ember-cli-i18n": "0.0.6",
    "ember-cli-ic-ajax": "0.2.4",
    "ember-cli-inject-live-reload": "1.4.0",
    "ember-cli-inline-content": "0.4.0",
    "ember-cli-less": "1.5.3",
    "ember-cli-moment-shim": "0.7.3",
    "ember-cli-qunit": "^1.2.1",
    "ember-cli-uglify": "^1.2.0",
    "ember-data": "2.3.3",
    "ember-export-application-global": "1.0.5",
    "ember-infinity": "0.2.1",
    "ember-modal-dialog": "0.8.3",
    "ember-moment": "6.0.0",
    "ember-radio-button": "1.0.7"
  },
  "dependencies": {
    "ember-cli": "1.13.15",
    "ember-validations": "2.0.0-alpha.4"
  }
}

bower.json

{
  "name": "MyApp",
  "dependencies": {
    "ember": "2.3.0",
    "ember-cli-shims": "0.1.0",
    "ember-cli-test-loader": "1.1.3",
    "ember-load-initializers": "0.1.5",
    "ember-qunit": "0.4.7",
    "ember-qunit-notifications": "0.0.7",
    "ember-resolver": "~0.1.0",
    "jquery": "1.11.3",
    "loader.js": "ember-cli/loader.js#3.4.0",
    "qunit": "~1.17.1",
    "components": "git+http://CinGitLab01.paycor.com/UI/components.git#0.8.0",
    "ember-uploader": "0.3.11",
    "ember-cli-moment-shim": "~0.6.2",
    "bootstrap-datepicker": "~1.5.1",
    "lodash": "~4.0.1",
    "moment": ">= 2.10.6",
    "moment-timezone": ">= 0.2.5"
  },
  "resolutions": {
    "ember": "2.3.0",
    "qunit-notifications": "~0.1.0",
    "ember-cli-test-loader": "0.1.3",
    "ember-load-initializers": "0.1.5",
    "loader.js": "3.2.0",
    "ember-qunit": "0.4.7",
    "moment-timezone": "~0.2.5",
    "ember-qunit-notifications": "0.0.7",
    "moment": "~2.10.5",
    "qunit": "~1.17.1",
    "ember-cli-shims": "0.1.0"
  }
}

I went through and tried to update each package to the latest version. 我经过了尝试,尝试将每个软件包更新为最新版本。 However, I had to revert some because of dependencies on earlier versions. 但是,由于对早期版本的依赖性,我不得不还原一些内容。

The application does use helpers and they look like this: 该应用程序确实使用了助手,它们看起来像这样:

import Ember from 'ember';
import dates from 'MyApp/util/dates';
export function formatDate(params/*, hash*/) {
    return dates.timestamp.toDateTimeString(params[0]);
}

export default Ember.HTMLBars.makeBoundHelper(formatDate);

and

import Ember from 'ember';
import dates from 'My/util/dates';
export function formatDate(params/*, hash*/) {
    return dates.timestamp.toDateString(params[0]);
}

export default Ember.HTMLBars.makeBoundHelper(formatDate);

Ember.HTMLBars.makeBoundHelper is the older API, which I think was deprecated in 1.13 and then removed in 2.0. Ember.HTMLBars.makeBoundHelper是较旧的API,我认为在1.13中已弃用,然后在2.0中将其删除。 If you change it to Ember.Helper.helper it should work. 如果将其更改为Ember.Helper.helper它将正常工作。

You can also consult the relevant deprecation entry . 您也可以查阅相关的弃用条目

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM