什么是节点方式来谈论需求,导入和包?
我的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,因为它所做的主要事情是将方法添加到现有的Date
和Number
原型(通常称为“扩展现有对象”),并通过访问来使用其许多function像它添加的Date.create()
方法。
所以,它的function被添加到已经存在的对象中,这就是你如何使用它的function。 这不是特别常见 – 我不知道任何一个模块的具体名称加载这种方式。
接下来,我正在“创build通知实例”,并调用其“实例方法”之一。
这已经是一个节点了。
- 有重复的时候如何从数组中删除* some *项? (Lodash / Underscore首选)
- 当Nodejs应用程序开始使用Systemd时,Nodejs App不会产生pythonsubprocess
- Node.js:如何在不阻塞事件循环的情况下重新创build“setTimeout”函数?
- binaryjs – nodejs mp3audiostream并播放
- 按名称,date和层次sorting列表
- Socket.io:在任何时候获取客户端会话ID
- 将asynchronous函数传递给Node.js Express.js路由器
- Meteor:xlsx到json的parsing
- 无法使节点debugging工作