如何从Node.JS中的浏览器执行控制台功能?

时间:2019-11-07 23:08:34

标签: javascript html node.js browser console

我正在尝试执行此功能,但是在带有Node.JS的终端中

var WebTorrent = require('webtorrent')

var client = new WebTorrent()

var magnetURI = 'magnet: ...'

client.add(magnetURI, { path: '/path/to/folder' }, function (torrent) {
  torrent.on('done', function () {
    console.log('torrent download finished')
  })
})

例如,我的意思是创建一个<button>标签,然后单击该标签, 可以在nodejs控制台而不是浏览器控制台中执行先前的功能。
额外: 我正在执行这两个文件:
app.js

let http = require('http');
let fs = require('fs');

let handleRequest = (request, response) => {
    response.writeHead(200, {
        'Content-Type': 'text/html'
    });
    fs.readFile('./index.html', null, function (error, data) {
        if (error) {
            response.writeHead(404);
            respone.write('Whoops! File not found!');
        } else {
            response.write(data);
        }
        response.end();
    });
};

http.createServer(handleRequest).listen(8000);

然后
index.html包含<button>标签,但不执行任何操作。

1 个答案:

答案 0 :(得分:0)

客户端(浏览器)和服务器是两个不同的实体,当客户端是浏览器时,唯一的通信方式是通过HTTP协议,简单来说就是使用Internet。

现在,浏览器仅了解它自己的javascript类型,更确切地说是ECMA而不是nodejs。因此以下代码无法在浏览器中执行

var WebTorrent = require('webtorrent')

var client = new WebTorrent()

因此,我假设它正在您的机器上运行的服务器上运行,因此console.log将打印到您的终端上。

要在浏览器上运行它,我假设您将不得不对其进行不同的编码,或者您将不得不使用browserify并仅在客户端使用以下代码来分析客户端脚本 OR 代码:在libaray下面:

<script src="webtorrent.min.js"></script>

有关更多详细信息,请参见位于https://github.com/webtorrent/webtorrent/blob/master/docs/get-started.md的完整网页示例