我正在尝试制作在线游戏。它不是快节奏的,所以我只需要一个json文件。我对node.js还是很陌生,对此并不十分了解。
我尝试使用以下命令:https://stackabuse.com/reading-and-writing-json-files-with-node-js/,并且我了解如何使用命令行对其进行读写。如何通过OnClick之类的JavaScript事件运行Node js文件?
节点js:
//this code is mostly stolen from the site I linked to.
'use strict';
const fs = require('fs');
let newdata = {"newdata": "this is new!"}
let data = JSON.stringify(newdata);
fs.writeFileSync('data.json', data);
json:
{
"test": "hello world"
}
html:
<input type="button" value="Click Me!" onclick="
//run the node js file!!!
">
我不知道如何运行该文件。
答案 0 :(得分:1)
我认为在解决此问题之前,您需要先问问自己自己想获得什么。
如果您要使服务器在REST API中发送JSON文件,则使用NodeJS的想法是一个好方法,但是您需要让Web服务器在其中运行并在HTML代码上使用$.get
命令来获取数据。
如果您想在本地读取 JSON 文件,则无需使用NodeJS(JS是解决此问题的好方法)
第一个解决方案:
NodeJS代码:
const data = require('/path/to/json/file/data.json')
var path = require('path');
const express = require('express')
const app = express()
app.get('/data', (req, res) => {
res.json(data)
})
app.get('/', function(req, res) {
res.sendFile(path.join('/path/to/index/file/index.html'));
});
app.listen('8080')
HTML代码:
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<body>
<button onclick="myFunction()">Test</button>
</body>
<script>
function myFunction(){
$.get("http://localhost:8080/data",
function(data) {
alert(JSON.stringify(data));
}
);
}
</script>
</html>