ember把手:找出哪个插件正在定义帮助器(app / helpers中不存在)

时间:2018-03-23 23:21:39

标签: ember.js handlebars.js

很难找到app/helpers中没有帮助者的位置。帮手是非常通用的名字,我搜索了我的package.json帮助名称但没有任何东西。我被困在谷歌周围寻找,试图弄清楚插件定义了什么。

给定一些帮助({{totally-generic-name param1="foo"}})如何找到它定义的位置?

(我恰好在Ember 2.13上)

(注意:帮助器在contains中定义了ember-composable-helpers,因此搜索package.json以及#34; helper"这会很有帮助。但这是一个相当繁琐的工作。直接的搜索方式,甚至可能没有得出答案)

1 个答案:

答案 0 :(得分:1)

对我来说,最简单的方法是运行应用程序的开发版本(ember serve),打开浏览器的开发工具并打开一个名为<your-app-name>/helpers/<helper-name>.js的文件。在文件的第一行,您可以看到它的导入位置。

假设您的应用程序名称为 foo ,并且您已安装ember-array-helper。通过ember serve运行您的应用程序,然后在Chrome中打开它。转到开发工具 Source 部分。在子网网络中搜索helpers/array.js。您可以通过 ctrl + p 搜索每个名称的文件。如果助手由插件提供,则该文件是自动生成的。它看起来如下:

define('foo/helpers/array', ['exports', 'ember-array-helper/helpers/array'], function (exports, _array) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, 'default', {
    enumerable: true,
    get: function () {
      return _array.default;
    }
  });
});

在第一行中,您可以读取导入ember-array-helper/helpers/array的名称,您可以从中猜出插件名称(第一部分)。请注意,您还可以通过打开/assets/addon-tree-output/ember-array-helper/helpers/array.js打开由开发人员工具通过插件导出的实际帮助程序。由于最后一部分来自导入,您可以轻松地使用该部分来搜索文件。现在放置断点并根据需要检查此代码。

同样的方法应该适用于所有主流浏览器。