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

问题描述 投票:0回答:1

我正在尝试执行此功能,但在带有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>标记,但不执行任何操作。

javascript html node.js browser console
1个回答
0
投票

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

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

var WebTorrent = require('webtorrent')

var client = new WebTorrent()

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.