为了阐明我对您的帖子的理解方式,我看到两个问题:
- 我如何在文件中构造代码/方法,这些文件代表实用程序功能的类别
- 如何将这些分类文件组织到一个较大的库中
类别内的构造方法
您可以仅将功能导出到以它们命名的文件中,而不是使对象(例如Twitter或Text)成为所有特定于类别的函数方法。由于您似乎正在传递要使用的数据,因此无需使某些空类的函数实例方法成为可能。
如果您的Twitter或Text使用模式通常具有要保持状态的类变量,并且您想实例化Text或Twitter对象以使用您的示例,那么我认为这是适当的。当我在项目中设置实用程序库时,通常是一堆导出的函数组成一个模块,而不是导出的javascript类。
提供一个由基于文本的实用程序功能组成的text.js文件的示例,如下所示:
module.exports = { cleanText:function(text) { // clean it and return }, isWithinRange(text, min, max) { // check if text is between min and max length }}或者,您可以通过以下方式进行操作:
exports.cleanText = function(text) { // clean it and return}exports.isWithinRange = function (text, min, max) { // check if text is between min and max length}构建实用程序类别文件以构成更大的实用程序库
就组织实用程序方法而言,Luca的示例很好。我已经组织了一些类似的事情:
utils-module/ lib/ text.js <-- this is the example file shown above twitter.js test/ index.js
在哪里index.js做类似
var textUtils = require('./lib/text');exports.Text = textUtils;然后,当我想在节点API中使用util lib时,说一些用户模型,它就是:
var textUtils = require('path/to/lib').Text;function User() {}User.prototype.setBio = function(data) { this.bio = textUtils.cleanText(data);}module.exports = User;希望有帮助。当我第一次学习时,查看流行的,受人尊敬的库对了解经验丰富的node / javascript开发人员的工作方式很有帮助。那里有很多好(坏)的!



