我想覆盖DockYard ember-changeset-validations
插件中的方法,以便我可以通过I18n翻译错误消息。
这是函数所在的文件:https://github.com/DockYard/ember-changeset-validations/blob/master/addon/utils/get-messages.js
有什么方法可以覆盖这个getMessages()
方法,而不必分叉整个回购?
答案 0 :(得分:1)
ember-cli使用define / require对。所以你可以在初始化器的某处放置代码
let oldImplementation = require('ember-changeset-validations/utils/get-messages').default;
define('ember-changeset-validations/utils/get-messages', ['exports', 'ember', 'ember-changeset-validations/utils/messages'], function (exports, Ember, defaultMessages) {
// override module implementation here
exports['default'] = oldImplementation;
});
通过这种方式,您可以重新定义模块(因此您应该保持模块的接口相同)。但这是丑陋的黑客