作为javascript新手,我想使用Node.js创建一个前端项目,其中包含一个非常小的后端解决方案。
我有一个包含一些变量和一个按钮的用户整数。这些变量必须传递给一个简单的.txt文件(在我的文件系统上),并覆盖它的内容。为此,我使用了一个nodejs脚本:
var fs = require('fs');
fs.writeFile('log.txt', 'This is my text', function (err) {
if (err) throw err;
console.log('Replaced!');
});但是我希望它能够运行onClick,而这只在命令行中起作用。
因此,我有以下两个问题:
我百分之百肯定我错过了什么东西(也许是一个网络服务器,但即便如此,怎么会呢?)我做了我的研究,但我发现要么是过度杀戮,要么我甚至不明白。任何帮助,一个教程,一个建议或只是一个关键字,我可以用在我的研究。
发布于 2018-02-12 19:45:00
看看快递。这是一个“快速,不固执己见,极简主义的节点网络框架”。有了这个,您就可以构建一个小型With服务器:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World');
});
app.listen(3000); // Webserver is running on port 3000如果您运行它并在http://localhost:3000上访问您的浏览器,它将打印Hello World。
现在,您要做的是每次请求特定URL时调用日志函数。
var fs = require('fs');
function log(text, callback) {
fs.writeFile('log.txt', text, callback);
}
app.get('/', function (req, res) {
log('This is my text', function (err) {
if (err) throw err;
res.send('Replaced!');
});
});现在,当您单击按钮时,需要向服务器发出AJAX请求(可能使用jQuery)。
发布于 2018-02-12 19:41:29
Node.js没有一个内置的前端库,就像其他一些脚本语言,比如Python或VB。要创建一个node.js,您的直觉是正确的,因为您需要您的应用程序将自己暴露为一个网络服务器。用来做这件事的流行库叫做express,很容易开始。我建议你跟随快速启动教程进入它。
从这里开始,您可以将代码打包到webserver的路由中(例如,/save)。
var fs = require('fs');
var express = require('express');
var app = express();
app.get('/save', function (req, res) {
fs.writeFile('log.txt', 'This is my text', function (err) {
if (err) throw err;
console.log('Replaced!');
res.send('Replaced!')
});
})
app.listen(3000, () => console.log('Example app listening on port 3000!'))在此示例中,安装了依赖项,打开localhost:3000/save将使您的代码运行。
https://stackoverflow.com/questions/48754045
复制相似问题