Ember.js ember Handlebar:查找定义帮助程序的加载项(不在应用程序/帮助程序中)
很难找到未在Ember.js ember Handlebar:查找定义帮助程序的加载项(不在应用程序/帮助程序中),ember.js,handlebars.js,Ember.js,Handlebars.js,很难找到未在app/helpers中定义的助手的位置。助手的名字非常通用,我在package.json中搜索了助手的名字,但什么都没有。我一直在用谷歌搜索,试图找出插件对它的定义 给定某个助手({{coully-generic name param1=“foo”}}),如何查找它的定义位置 (我正好在余烬2.13) (注意:helper是包含在ember composable helpers中定义的,因此在package.json中搜索“helper”会有一点帮助,但这是一种非常繁琐的直接搜索方
app/helpers
中定义的助手的位置。助手的名字非常通用,我在package.json中搜索了助手的名字,但什么都没有。我一直在用谷歌搜索,试图找出插件对它的定义
给定某个助手({{coully-generic name param1=“foo”}}
),如何查找它的定义位置
(我正好在余烬2.13)
(注意:helper是
包含在ember composable helpers
中定义的,因此在package.json中搜索“helper”会有一点帮助,但这是一种非常繁琐的直接搜索方式,甚至可能没有得到答案)对我来说,最简单的方法是运行应用程序的开发版本(ember-serve
),打开浏览器的开发工具并打开名为/helpers/.js
的文件。在文件的第一行中,您可以看到文件从何处导入
假设您的应用程序名为foo,并且已经安装了ember-array-helper
。通过ember-service
运行应用程序,并在Chrome中打开。转到开发工具源代码部分。在网络中搜索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数组helper/helpers/array
,您可以从中猜测加载项名称(第一部分)。请注意,您还可以通过打开/assets/addon tree output/ember-array-helper/helpers/array.js
,打开addon通过开发工具导出的实际帮助程序。由于最后一部分来自导入,因此可以轻松使用该部分搜索文件。现在,放置断点并尽可能多地检查此代码
同样的方法应该适用于所有主要的浏览器。我猜您可以在node_模块和bower_组件中搜索包含export default Ember.Helper
(旧语法)和export default Helper
(新语法)的.js文件。然后要查找插件定义的组件,请按名称搜索.hbs文件–(Credit@ctcpip:)是否可以定义一个编辑器/ide插件来查找所有把手组件/helper/etc定义?哇,伙计们,这真的很有用!此外,我意识到一件肯定会做的事情是创建应用程序的调试版本,为应用程序代码和供应商代码输出2个js文件-因为它们包含所有内容,这也可以搜索和检查-尽管我认为在devtools中搜索会更好。