在meteor docs中写道,首先加载project_root / lib文件夹中的所有文件;
我有这段代码:
//defined in /lib/utilties.js
String.prototype.capitalize = function(){
return this.replace(/(^|\s)([a-z])/g, function(m, p1, p2) {
return p1 + p2.toUpperCase();
});
};
和此:
//defined in /client/event-helpers/form.js
Template.form.helpers({
fieldType: function(field) {
return 'form-' + capitalize(field)
}
});
这并不能说大写是不确定的;在/client/event-helpers/form.js中移动大写功能让它工作; 那么有人可以帮我理解流星中的文件加载优先级吗?为什么会这样?
答案 0 :(得分:2)
您已根据加载顺序正确解释了文档,但这不是您的代码的问题。您已将capitalize
添加到String
原型中,但您将其用作全局函数。试试这个:
return 'form-' + field.capitalize();
答案 1 :(得分:0)
我认为你误解了这些文件。首先不加载lib目录中的文件。首先加载最低子目录中的文件。