2016-01-25 16 views
0

我用一些新軟件包更新了我的應用程序。現在,我在我的瀏覽器調試器控制檯得到一個錯誤:TypeError:_ember.default.HTMLBars._registerHelper不是函數

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

我在生成的index.html推出ember server,沒有我的內容顯示的。

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" 
    } 
} 

我經歷了,並試圖更新每個包到最新版本。但是,由於對早期版本的依賴關係,我不得不還原一些。

該應用程序使用的幫手,他們看起來是這樣的:

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); 

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); 
+0

看起來您已經添加了一個使用舊方法在您的應用程序中註冊助手的軟件包。你確切知道你添加哪個包導致錯誤? –

+0

@JustinNiessner我試着從Ember 1.X更新到Ember 2.X,它打開了這個蠕蟲的罐頭。 –

+1

是的。我最近經歷了同樣的過程。在當前版本和2.x之間逐步升級到每個次要版本是最容易的,可以一路修復所有的棄用警告。 –

回答

1

Ember.HTMLBars.makeBoundHelper是舊的API,我認爲在1.13已被廢棄,然後在2.0去除。如果將其更改爲Ember.Helper.helper它應該可以工作。

您也可以查閱相關的deprecation entry

+0

很高興知道這個信息。進行此更改後,我仍然收到此錯誤。 –

+0

嗯,你使用的插件是否提供助手?他們可能需要更新。 – locks

相關問題