什么是节点方式来谈论需求,导入和包?

我的JavaScript项目中有两个文件:

app.js

require('sugar') var Notification = require('./notification'); let createdOn = 'now' let notifyOn = 'in 2 days' let someNotification = new Notification('go somewhere', Date.create(createdOn), Date.create(notifyOn)) someNotification.print() 

notification.js

 function Notification(content, createdOn, notifyOn) { this.content = content this.createdOn = createdOn this.notifyOn = notifyOn } Notification.prototype.print = function() { console.log('content', this.content) console.log('createdOn', this.createdOn) console.log('notifyOn', this.notifyOn) } module.exports = Notification 

notification.js我想我是“写我自己的模块”,“出口一个构造函数”任何需要它。 然后在app.js我“导入我的通知模块”,这是在app.js相同的工作目录。 我也“导入糖的包”,所以我可以将自然语言转换成DateTime查看Sugar.js有关的详细信息。

接下来,我正在“创build一个Notification的实例”,并调用其中一个“实例方法”。

我想知道:什么是节点的方式说上述的一切,特别是引号部分? 具体而言,我很困惑如何精确地讲一个构造函数和原型函数,以及这两行之间的区别:

 require('sugar') var Notification = require('./notification'); 

我正在寻找一个答案,使用节点习语,向我解释我在我的项目中做了什么。

谢谢😄

没有logging,标准的节点成语说话。 你的解释几乎是你所做的任何节点开发人员都能理解的。 这是我能想到的最短节点措辞:

要求(“糖”)

加载糖模块

var Notification = require('./ notification');

从当前模块的目录加载通知模块,并将导出分配给一个名为Notification的variables

notification.js

导出用于创buildNotification对象的构造函数的模块。


这两行之间有什么区别:

 require('sugar') var Notification = require('./notification'); 

可以使用sugar模块,而不必将其输出分配给任何variables,因为它所做的主要事情是将方法添加到现有的DateNumber原型(通常称为“扩展现有对象”),并通过访问来使用其许多function像它添加的Date.create()方法。

所以,它的function被添加到已经存在的对象中,这就是你如何使用它的function。 这不是特别常见 – 我不知道任何一个模块的具体名称加载这种方式。

接下来,我正在“创build通知实例”,并调用其“实例方法”之一。

这已经是一个节点了。