首页 > 解决方案 > 如何在 Node 中导出类实例?

问题描述

假设,我有一个类实例

const User = require(./User);

const id = '123456',
secret   = '8787';

const user = new User(id, secret)

module.exports = user;

问题是每当我导入时user,它只会返回一个空对象。
为什么会发生这种情况,在这种情况下我该怎么办?

这就是我用来测试的

index.js 文件

const OAuthClient = require('disco-oauth'); //class disco-oauth

const credential = require('./credential.json');

//class instance
const oauthclient = new OAuthClient(credential.id,credential.secret); 

console.log(oauthclient); //Working fine in here

module.exports = oauthclient; //exporting instance  

test.js 文件

const oauthclient = require('./index')
console.log(oauthclient) //prints {}

标签: javascriptnode.jsclass

解决方案


您应该使用名称制作文件User.js并复制此代码:

class user {
    constructor(id, secret){
        this.id= id,
        this.secret=secret
    }
 }

 module.exports = user;

并且您的文件可以用于需要用户类(yourFile.js)

const User = require(./User);

const id = '123456',
secret   = '8787';

const user = new User(id, secret)

module.exports = user;

您可以制作test.js文件以导入此用户(yourFile.js):

const user = require('./yourFile.js')
console.log(user)

推荐阅读