Javascript 如何在meteorjs上对js文件进行排序
我有两个js文件:Javascript 如何在meteorjs上对js文件进行排序,javascript,meteor,Javascript,Meteor,我有两个js文件: validate.js login.js login.js需要validate.js中的函数,因此login.js必须在validate.js之后调用。 但在meteorjs中,我不知道如何像那样分类。因为我知道client/中的所有js文件都将被加载。这就是结果: login.js validate.js 请帮助如何排序这个js文件 更新 好的,我现在可以对js文件进行排序,但我不能从validate.js调用函数 这是我的validate.js: function f
validate.js
login.js
login.js需要validate.js中的函数,因此login.js必须在validate.js之后调用。
但在meteorjs中,我不知道如何像那样分类。因为我知道client/中的所有js文件都将被加载。这就是结果:
login.js
validate.js
请帮助如何排序这个js文件
更新
好的,我现在可以对js文件进行排序,但我不能从validate.js调用函数
这是我的validate.js:
function firstValidator(){
this.isTextValidate = {
text : function(text){
return true;
},
password: function(password){
return true;
},
date: function(date){
return true;
}
}
}
这是我的login.js
var isValid = new firstValidator();
Template.cust_login.events({
'click button':function(){
login();
},
'keyup input#inputUserLogin': function () {
alert(isValid.isTextValidate.text("text"));
},
'keyup input#inputUserPassword': function () {
}
});
它的错误在于:
var isValid = new firstValidator();
Uncaught ReferenceError: firstValidator is not defined
为什么会这样?如何解决这个问题,这样我就可以在另一个js中使用firstValidator(),Meteor按字母顺序加载同一目录中的文件。首先加载较深子目录中的文件。
lib/
目录中的文件在加载其他文件之前加载。名为main.*
的文件最后加载。在您的情况下,我会将validate.js
放在client/lib/
中。如果希望验证文件在客户端和服务器上可用,请将其放在lib/
中。Meteor按字母顺序加载同一目录中的文件。首先加载较深子目录中的文件。lib/
目录中的文件在加载其他文件之前加载。名为main.*
的文件最后加载。在您的情况下,我会将validate.js
放在client/lib/
中。如果希望验证文件在客户端和服务器上可用,请将其放在lib/
中。Meteor按字母顺序加载同一目录中的文件。首先加载较深子目录中的文件。lib/
目录中的文件在加载其他文件之前加载。名为main.*
的文件最后加载。在您的情况下,我会将validate.js
放在client/lib/
中。如果希望验证文件在客户端和服务器上可用,请将其放在lib/
中。Meteor按字母顺序加载同一目录中的文件。首先加载较深子目录中的文件。lib/
目录中的文件在加载其他文件之前加载。名为main.*
的文件最后加载。在您的情况下,我会将validate.js
放在client/lib/
中。如果您希望验证文件在客户端和服务器上可用,请将其放在lib/
中。感谢@Cuberto完成此问题,但出现了新问题:(Meteor将文件包装在IIFE中。这意味着使用函数声明或var
定义的变量不会导出到全局范围。如果要定义全局函数,则需要在不使用var
或函数声明的情况下执行此操作:firstValidator=function(){/*…*/};
。一个更明确的替代方法是直接传入全局变量:(函数(全局){global.firstValidator=function(){};}(this));
感谢@Cuberto完成此问题,但出现了新问题:(Meteor将文件包装在IIFE中。这意味着使用函数声明或var
定义的变量不会导出到全局范围。如果要定义全局函数,则需要在不使用var
或函数声明的情况下执行此操作:firstValidator=function(){/*…*/};
。一个更明确的替代方法是直接传入全局变量:(函数(全局){global.firstValidator=function(){};}(this));
感谢@Cuberto完成此问题,但出现了新问题:(Meteor将文件包装在IIFE中。这意味着使用函数声明或var
定义的变量不会导出到全局范围。如果要定义全局函数,则需要在不使用var
或函数声明的情况下执行此操作:firstValidator=function(){/*…*/};
。一个更明确的替代方法是直接传入全局变量:(函数(全局){global.firstValidator=function(){};}(this));
感谢@Cuberto完成此问题,但出现了新问题:(Meteor将文件包装在IIFE中。这意味着使用函数声明或var
定义的变量不会导出到全局范围。如果要定义全局函数,则需要在不使用var
或函数声明的情况下执行此操作:firstValidator=function(){/*…*/}一个更明确的替代方法是直接传入全局变量:(函数(全局){global.firstValidator=function(){};}(this));