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

时间:2018-02-12 19:25:36

标签: javascript node.js

作为一个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. 我希望内容具有动态性。我确定,一旦第一个问题得到解决,这将是直截了当的,但现在我也不知道。
  3. 我100%肯定我错过了某些东西(也许是网络服务器,但即便如此,怎么样?)。我做了我的研究,但我发现的只是一个矫枉过正,或者我甚至都不理解它。任何帮助将不胜感激,教程,建议或只是一个关键词,我可以用于我的研究。

2 个答案:

答案 0 :(得分:2)

Node.js没有内置的前端库,就像其他一些脚本语言一样,如Python或VB。要创建node.js,您的直觉是正确的,因为您需要将您的应用程序公开为Web服务器。 这样做的流行库叫做express,很容易上手。 我建议你按照express quickstart tutorial进入。

从这里,您可以将代码包装在网络服务器的路径中(例如/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 /在浏览器中保存会导致代码运行。

答案 1 :(得分:0)

看看express。它是一个“节点的快速,独立,极简主义的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)。

相关问题