繁体   English   中英

将Node.js脚本连接到前端项目

[英]Connecting Node.js script to a front-end project

作为一名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上工作,而这只能在命令行下工作。

因此,我有以下两个问题:

  1. 我想通过单击按钮更新.txt文件。 因此,当我单击按钮时,基本上必须执行上面编写的代码。 但是我不明白如何将前端与此nodejs文件连接。
  2. 我希望内容是动态的。 我敢肯定,一旦解决了第一个问题,这将很简单,但是现在我也不知道这一点。

我100%肯定我遗漏了一些东西(也许是Web服务器,但是即使那样,怎么办?)。 我进行了研究,但发现的只是太过分了,或者我什至都不了解。 我可以将任何帮助,教程,建议或仅关键字用于我的研究。

Node.js没有像其他一些脚本语言(如Python或VB)那样具有内置的前端库。 要创建一个node.js,您的直觉是正确的,因为您将需要您的应用将其自身公开为网络服务器。 流行的库可以称为Express,它很容易上手。 我建议您按照快速入门指南中的说明进行操作。

在这里,您可以将代码包装在网络服务器的路由内(例如/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将导致您的代码运行。

快递 这是一个“快速,不受限制的,极简的节点Web框架”。 这样,您可以构建一个小型网络服务器:

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 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM