javascript - Node.js 类作为模块

标签 javascript node.js

我正在尝试使我的应用程序更加面向对象。为此我想创建以下类(对象):

在 Media.js 文件中

    //Media object
var Media = function (file, targetDirectory) {
    this.file = file;
    this.targetDir = targetDirectory;
    this.fileName = this.getName();
};

Media.prototype.isVideo = function () {
    return this.file.mimetype.indexOf('video') >= 0;
};
Media.prototype.isAudio = function () {
    return this.file.mimetype.indexOf('audio') >= 0;
};
Media.prototype.getName = function () {
    return this.file.originalname.substr(0, this.file.originalname.indexOf('.'))
};

我希望在应用程序的多个位置使用此对象,但我不太确定如何包含它。这也是个好主意还是我应该使用 Modules 代替?

最佳答案

您可以在 Media.js 中导出 Media 对象,如下所示

module.exports = Media;

然后在需要时只需需要 Media.js

const Media = require('pathtofile/Media.js')

Media.isAudio(a, b); 

关于javascript - Node.js 类作为模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37111872/

相关文章:

javascript - Vuex 突变后如何获取值?

javascript - 无法使用异步、nodejs 和 mongodb 更改 javascript 对象属性

mysql - Nodejs 使用 mysql 模块的 Mysql 连接池

javascript - 是否可以仅对一个快速端点使用多个中间件功能?

javascript - Browserify - 提及同一文件中的函数

javascript - 检查 Javascript 数组是否包含另一个数组的任何元素的最佳方法是什么?

javascript - 如何制作python脚本服务器端

javascript - React 无状态功能组件应返回 null 但收到错误

node.js - 如果 AWS Lambda 本地调用,如何在 Jest 测试中传递正确的 JSON 事件

node.js - 为什么带有 SparkPost 的电子邮件会成为垃圾邮件?