我有一个Node.js Express项目,文件面向这样(WebStorm IDE):
我想将标记为index.js
的变量传递给app.js
,以便我可以在data.json
结尾处写出该变量。
我还是Node.js的新手,仍然对客户端/服务器理论感到困惑。如果有一种方法可以直接从index.js
到data.json
或任何其他json文件写入数据,那将会容易得多,但我认为根据之前的答案,这是不可能的。如果我错了,请纠正我。
更新
问题是使用Ajax解决的,如this回答:
中所述在index.js中使用$.post('/email', { address: 'xxx@example.com' });
发送数据,
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/email', (req, res) => {
// you have address available in req.body:
console.log(req.body.address);
// always send a response:
res.json({ ok: true });
});
app.use(express.static(dir));
app.listen(4443, () => console.log('Listening on http://localhost:4443/'));
在app.js中接收数据。
答案 0 :(得分:1)
你的index.js应该有一个返回变量值的函数,如下所示:
# index.js
exports.default = () => {
return 'my data';
}
# app.js
const dataGetter = require('./public/javascripts/index.js');
const myData = dataGetter();
或者,如果您的数据是静态的,您可以在每次需要时只需要()index.js。
在node.js中,你应该在函数中声明变量,函数是Node.js生态系统的本质。