Node.js - 禁用浏览器的 Javascript

Node.js - Disabling Browser's Javascript

例如,如果浏览器禁用了 javascript,node.js 是否仍然有效或是否需要回退?

我知道这可能是一个愚蠢的问题,但我正试图向朋友证明 node.js 在服务器端工作而不依赖于客户端。

你已经说过了。节点代码在托管您的应用程序的服务器上解释,而不是在客户端上解释。

您可以通过从禁用 JS 的浏览器接收来自节点驱动服务器的响应来向您的朋友证明这一点。

正如@frédéric-hamidi 所指出的 运行 一个节点服务器然后卷曲它:

nodejs

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('I don\'t need js on the browser!');
}).listen(80);

shell

curl http://web-07081482-2b2c-4e1b-9b1c-9ab20dccb92c.runnable.com/

你可以给他看这个演示:

http://runnable.com/VM9-XCkU5E06W8gl/nodejs-so-for-node-js-and-hello-world

Node.js 本身将继续工作,即使浏览器已 JavaScript 禁用(或不支持它开始).它是服务器端环境,因此与浏览器无关。它甚至在客户端看到页面(或 AJAX 响应,如果您正在这样做)之前就开始工作。

Node.js无法绕过浏览器的JavaScript设置,但对于任何服务器端开发环境都是如此。如果您在 Node.js 中创建依赖于客户端计算某些内容并将其发回的内容,那么如果浏览器已禁用 JavaScript,that 将无法正常工作.因此,您必须注意不要忘记哪些代码是客户端,哪些是服务器端,当两种类型的代码使用相同的语言时,这 稍微 更难,但仍然不是很难。只要你这样做,你就没事。

就我个人而言,我最喜欢的此类演示是使用 telnet,如@FredericHamidi 所述。很难获得比 telnet 更多的准系统,因为它对您几乎没有任何作用:没有 JavaScript,没有 CSS,甚至没有 HTML。甚至没有 HTTP,真的;它不能自己构建请求,所以你必须手动输入它(如果你坚持 HTTP/0.9 并 GET 请求你的演示,这还不错,但我不建议获取任何比这更复杂的)。在未经训练的人看来,您似乎在侵入机器。 但是 Node.js 仍然会 运行,即使您 运行 正在使用基本上可能是最简单的客户端