如何弃用插件中的功能?

时间:2019-06-05 22:50:53

标签: ember.js ember-3

我正在编写一个Ember.js插件,我需要弃用一个功能。我可以使用与Ember相同的弃用系统吗? 我希望我的用户能够使警告保持沉默。

理想情况下,我还需要能够在我的测试套件中测试弃用消息在正确的条件下是否有效。

我正在使用Ember 3.x。

1 个答案:

答案 0 :(得分:2)

插件可以通过deprecate方法使用与Ember相同的弃用警告样式:

import { deprecate } from '@ember/application/deprecations';

deprecate包含三个参数:该字符串作为消息,一个布尔测试(其中false表示将显示弃用),以及一个选项对象,其中包含更多信息。

例如:

import { deprecate } from '@ember/application/deprecations';
// ...
deprecate(
   "message about your addon that mentions the addon by name", 
   false,
   {
      id: 'send-component-hash',
      until: '2.0.0',
      url: 'some url goes here'
    }
);
// ...

控制台中的消息如下所示:

a yellow warning box with an alert icon and instructions

可以使用ember-qunit-assert之类的库来测试弃用情况。安装完成后,如果您已经在测试中使用expectDeprecation,则assert将在qunit上可用:

assert.expectDeprecation(/expected deprecation message/);