我已经阅读了很多关于如何在node.js中创建模块的文章,你可以使用module.exports将模块内部公开给包含它的文件.真棒!
这是怎么回事?我将使用以下作为示例:-)
USER.JS
function User() {
this.property = 'value';
this.doSomething = function() {
var getStuff = mainFileFunction();
// do something with getStuff
}
module.exports = User;
Run Code Online (Sandbox Code Playgroud)
MAIN.JS
var myArray = [];
myArray.push('something');
myArray.push('something else');
mainFileFunction() {
for(thing in myArray) {
return myArray[thing];
}
}
var u = new user();
log(u.property); <--- THIS IS EXPOSED, COOL!
u.doSomething(); <--- This will throw an error because mainFileFunction is not defined in user.js :-(
Run Code Online (Sandbox Code Playgroud)
如果我将mainFileFunction移动到用户文件,那么它仍然无法工作,因为myArray数组不会被定义...如果我也将它移动到那里,我将无法在主要的其他功能(我想):-)
我很抱歉,如果我错过了一些非常明显的东西......我想要的是从我包含的模块中公开我选择的部分(module.export适用于此)但我也希望从主文件中公开所有内容所有包括..
或者只是把一切都暴露在一切?那是完全凌乱和可怕的吗?
只是为了解释我在这里尝试做什么...我希望在单独的文件中定义类,但我想将它们实例化为主文件中的对象并将它们存储在数组中.我希望对象能够包含可以访问其他对象类型的数组的方法.
多谢你们!:-)
我很抱歉,如果以前曾经问过这个问题,那就很难找到......
我想使用javascript数组来保存对象,并使用密钥作为ID
例如,假设我有一群拥有不同身份证的人
var people = new Array();
var person = {property: value}; // this is person ID 4
var people[4] = person;
Run Code Online (Sandbox Code Playgroud)
我希望能够通过说人[ID] .propery来引用该用户
问题是这个数组的输出现在是;
null,null,null,null,object
Run Code Online (Sandbox Code Playgroud)
因为它期望键是0,1,2,3,4
我是愚蠢还是什么?:-)我们可以为字符串做正确的,所以为什么不是非序列号?
我想避免的是每次我想访问其中的特定人时,必须遍历数组中的每个对象,因此我认为使用ID号作为键将起作用
多谢你们!:-)
我很难找到如何做一些相对简单的事情..
我正在编写一个node.js应用程序,我想利用Google Tracks API https://developers.google.com/maps/documentation/tracks/
Tracks API 使用 OAuth2 根据 API 帐户对服务器进行身份验证 - https://developers.google.com/maps/documentation/tracks/auth
我想做的只是使用 node.js 向 Google 验证我的应用程序
我遇到的问题是,我能找到的与该主题相关的每个模块或框架都是关于将用户重定向到谷歌并将其返回到应用程序,这不是我想要实现的......相反我想只需将我的 API 凭据硬编码到服务器中并直接对其进行身份验证,以便它可以使用 API,我还需要某种方法来在令牌过期时保持会话处于活动状态。
任何帮助将非常感激
我知道这似乎是一个直截了当的问题 - 但尽管 Moment.js 和时刻时区是获取/设置和格式化日期的非常强大的工具..
我在将我的应用程序捕捉到单个时区时遇到问题。
我想要的是让用户从日期/时间选择器中进行选择 - 并将其作为 UTC 中的 unix 时间戳发送......但日期/时间选择器必须被视为 BST。
换句话说,即使您在国外使用该网站 - 如果您在英国选择它,您选择的日期/时间应该是 UTC 值。
var local = moment(dateTime).unix();
var london = moment(dateTime).tz('Europe/London').unix();
var berlin = moment(dateTime).tz('Europe/Berlin').unix();
Run Code Online (Sandbox Code Playgroud)
所有 3 个变量将等于同一台机器上的 SAME UTC 时间戳,但在不同时区运行的另一台机器上的时间戳不同。
想想看……如果我的日期/时间是星期六下午 3 点……那在伦敦的 UTC 与在柏林的 UTC 不同,因为它会在柏林提前一小时发生。
如何强制将日期/时间视为特定时区?
谢谢 :-)