Javascript 如何将类语法内部的JSON发送到API?

Javascript 如何将类语法内部的JSON发送到API?,javascript,node.js,api,variables,router,Javascript,Node.js,Api,Variables,Router,假设我有一个普通的mjs文件和一个API,如下所示: // Storage.mjs class Storage { constructor(name, age) { this.name = name; this.age = age; this.json = JSON.stringify(this); } } var store = new Storage('eMart', 2); // server.js var express

假设我有一个普通的mjs文件和一个API,如下所示:

// Storage.mjs
class Storage {
    constructor(name, age) {
        this.name = name;
        this.age = age;
        this.json = JSON.stringify(this);
    }
}
var store = new Storage('eMart', 2);

// server.js
var express = require('express'),
    fs = require('fs'),
    data = fs.readFileSync('website/js/storage.mjs'),
    convert = JSON.parse(data);

var app = express(),
    server = app.listen(3000, initialize);

console.log(convert);

function initialize() {
    console.log("Local Host Initialized.");
}

app.use(express.static('website'));
我的目标是将JSON数据发送到类语法内部的API,但每次节点不断抛出未定义的错误和类似于下图的错误

大多数人的问题是将数据从API发送到特定的js文件,这与我的情况完全相反。从那里很难找到解决办法


有没有合适的方法将JSON数据传递给API?

我想这就是您想要的

//假设这是用fs.readFileSync加载的 常数mjs=` 类存储{ 姓名、年龄{ this.name=名称; 这个。年龄=年龄; this.json=json.stringifythis; } } var store=new Storage'eMart',2;//我猜你错过了这里的报价 `; evalmjs;//你不能只是把一个js文件转换成JSON,你必须先评估它。不安全,小心使用 让result=JSON.parsestore.JSON;//因为文件输出一个名为store的变量,并且它有一个json属性
console.logresult;mjs文件中没有数据,除了2 eMart显然是在别处定义的。您不能只是读取模块文件并假装它是JSON。JSON是一种特定的文本格式,用于编码数据,而不是类等。有关详细信息,请参阅。@Hereticsmonkey我的错。值eMart实际上是一个文本。感谢您的回答,但节点仍在说一个错误,即存储未定义。如果eval运行时没有错误。这可能是因为您的代码在use strict模式下运行,因此编译失败,在这种情况下,请尝试像上面我刚刚更新的那样首先声明它。抱歉,预定义在use strict模式下似乎也不起作用。试着做一个间接的eval调用来绕过这个行为,就像上面的更新一样,这里有一个参考:明白了。谢谢你详细的回答。