使用ember-cli进行原型扩展

Tre*_*Dev 3 ember.js ember-cli

使用ember-cli及其ES6模块转换器如何以及在何处定义,以便适用于我的应用程序中的所有数组:

Array.prototype.move = function (old_index, new_index) {
  ....
};
Run Code Online (Sandbox Code Playgroud)

jak*_*ige 5

你有几个选择.

  1. 将文件添加到vendor/包含扩展名的目录中,并将其包含在您的Brocfile.js喜欢中:

    app.import('vendor/my-prototype-extensions.js');
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在初始化程序中执行.

    ember g initializer extensions
    
    Run Code Online (Sandbox Code Playgroud)

    然后app/initializers/extension.js添加你的扩展程序

    export var initialize = function() {
      Array.prototype.move = function (old_index, new_index) {
        ....
      };
    }
    
    export default {
      name: 'extensions',
      initialize: initialize
    }
    
    Run Code Online (Sandbox Code Playgroud)

我个人更喜欢初始化方法,因为它是在ember-cli生态系统中完成的,因此如果需要,您可以访问那里的任何可用内容.