3

node.js 是否可以用作运行服务器端 JavaScript 的通用框架,专门用于 Web 应用程序,与它的非阻塞和异步 I/O 功能完全无关?具体来说,我想知道我是否可以在不使用其他 node.js 功能的情况下在(网络)服务器上运行任意 Javascript。

4

4 回答 4

5

是的,可以将 node.js 用于命令行应用程序,例如:

$ cat hello.js
console.log('Hello world!');
$ node hello.js
Hello world!

在这方面,它基本上就像任何脚本语言一样。

于 2011-01-10T17:46:39.750 回答
3

是的。有很多基于 node 的 web 框架。最著名的是基于Connect的Express

Connect 采用 Ruby 的 Rack 熟悉的概念并将其应用于节点的异步世界

表达:

用于 Node.js 的高性能、高级 Web 开发

但是 I/O(例如 Web 请求)取决于节点的异步和非阻塞功能。

于 2011-01-11T00:45:41.620 回答
1

最后,“node.js”在 v8 运行环境中,所以你当然可以执行任意 Javascript 代码。但是,由于它的单处理设计,可能难以并行运行多个 CPU 密集型计算。这不是 node.js 的设计目的。

于 2011-01-10T17:46:13.650 回答
0

是的。重要的是要理解 Node 是一组 I/O 绑定(文件、TCP 等),位于 Chrome 的 V8 JavaScript 解释器之上。

您可以在两种模式下使用 Node:

  1. 执行一个已知的 JavaScript 文件

    $ 节点 some_script.js

  2. 在 REPL 中执行(交互模式)

    $节点

    变量 i = 1;
    控制台.log(i);
    1

于 2011-01-10T19:25:49.297 回答