我试图了解meteorjs并提出一些问题。
我想创建一个getDateTime帮助程序,并希望这个帮助程序在客户端和服务器上可用。
然后我在lib / helpers中插入了这段代码
function getDateTime() {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth()+1;
var day = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
if(month.toString().length == 1) {
var month = '0'+month;
}
if(day.toString().length == 1) {
var day = '0'+day;
}
if(hour.toString().length == 1) {
var hour = '0'+hour;
}
if(minute.toString().length == 1) {
var minute = '0'+minute;
}
if(second.toString().length == 1) {
var second = '0'+second;
}
var dateTime = year+'/'+month+'/'+day+' '+hour+':'+minute+':'+second;
return dateTime;
}
不幸的是,此功能在客户端上不可用("未定义")。
当我查看源代码时,我可以看到它,但它封装在:
(function(){};
我不太明白为什么会这样。
我该怎么做才能访问该功能?
答案 0 :(得分:1)
Meteor应用程序中的每个.js
文件都包含在一个立即调用的函数表达式(function () { ... })()
中,以防止局部变量混乱全局范围。要在其他文件中访问该功能,请按以下方式定义:
// note: no "var"
getDateTime = function () {
// ...
};