如何使用其中包含函数的方法将类从一个 .js 文件导出到另一个 .js 文件

问题描述 投票:0回答:0

所以我有一个名为 Movie 的类,它创建一个包含电影各种细节的对象。 在“displayMovieDetails”方法中,我使用另一个函数“toHoursAndMinutes”将电影的运行时间从仅分钟转换为小时和分钟。

类(使用电影的各种细节创建一个对象):

class movie{
    constructor (name, genre, runTime, releaseDate, rating){
        this.name = name;
        this.genre = genre;
        this.runTime = runTime;
        this.releaseDate = releaseDate;
        this.rating = rating;
    }
    displayMovieDetails(){
        console.log(`\n\nName\t\t: ${this.name}\nGenre\t\t: ${this.genre}\nRunning Time\t: ${func.toHoursAndMinutes(this.runTime)}\nRelease Date\t: ${this.releaseDate}\nRating\t\t: ${this.rating[0] === 0? 0: (this.rating[1]/this.rating[0]).toFixed(1)} (${this.rating[0]} voters)\n`);
    }
}

方法(以某种方式显示所有新创建的电影对象的详细信息):

displayMovieDetails(){
        console.log(`\n\nName\t\t: ${this.name}\nGenre\t\t: ${this.genre}\nRunning Time\t: ${func.toHoursAndMinutes(this.runTime)}\nRelease Date\t: ${this.releaseDate}\nRating\t\t: ${this.rating[0] === 0? 0: (this.rating[1]/this.rating[0]).toFixed(1)} (${this.rating[0]} voters)\n`);
    }

Function(是之前突出显示的方法中的一个函数,其目的是将电影的运行时间从仅几分钟转换为小时和分钟 - 该函数已经从另一个文件导入,因此它是 func.toHoursAndMinutes() ):

toHoursAndMinutes: function(totalMinutes){
        const minutes = totalMinutes % 60;
    const hours = Math.floor(totalMinutes / 60);
  //if the movie is a perfect hour, it will display only the hours, otherwise display hours and minutes
    return `${hours}h${minutes > 0 ? ` ${minutes}mins` : ''}`;
    },

我想将类导出到另一个文件中,但是当我尝试执行此操作时出现错误。 我用这种方式从文件A导出类:

module.exports = {}
我使用这种方式将类和 toHoursAndMinutes 函数导入到文件 B 中:
var func = require("./appFunctions");

我只是想将类从我的主 .js 文件转移到一个单独的文件,以使我的 main.js 文件更加精简。

我认为错误是由于类方法中的 toHoursAndMinutes 函数造成的。

javascript class export
© www.soinside.com 2019 - 2024. All rights reserved.