提问者:小点点

将一个类包含在另一个类中


我有一个main.js文件和两个类文件(当然是。js)。我会用Nodejs。

以下是我需要实现的目标:

main.js                      class 1.js                 class 2.js
--------                     ---------                  ---------
callin class 1               doing somethin             do somethin
to do some work              but needing                and return results
                             the class 2

我在类1中使用了module.exports=ClassOneconst ClassOne=require('./class1.js');,但是现在我必须将类导入到类中,如何导入呢?

我已经用其他问题说到这一点了。我看到了一个相当混乱的局面,但还是设法走到了这一步。现在我真的不知道js是如何工作的,也不知道我应该如何成功地导入到一个自己包含的类中。

谢谢大家!


共2个答案

匿名用户

class2'。js

class Class2 {
  constructor(){}
  doSomething() {
    return new Promise((resolve, reject) => {
      resolve(`I did something too!`);
    });
  }
}

exports.Class2 = Class2;

class1'js

const Class2 = require('./class2').Class2;

class Class1 {
  constructor(){}
  async doSomething() {
    return new Promise(async (resolve, reject) => {
      const class2 = new Class2();
      const msg = await class2.doSomething();
      resolve(`Look! I did something! => ${msg}`);
    });
  }
}

exports.Class1 = Class1;

main.js

const Class1 = require('./class1').Class1;

const class1 = new Class1();
class1.doSomething().then(msg => {
  console.log(msg);
});

使用节点运行项目

node main.js

输出将为:

Look! I did something! => I did something too!

匿名用户

您将需要用module.exports导出其他2个JS类,并且需要哪个文件(我相信main.JS)都需要使用require和正确的文件路径导入它们。

//class1.js
function class1() {
    return 'I am class1';
}

module.exports = class1;


//class2.js
function class2() {
    return 'I am class1';
}

module.exports = class2;


//Main.js
const class1 = require('./class1.js');
const class2 = require('./class2.js');


console.log(class1());
console.log(class2());