【问题标题】:Can node.js be used as a framework for running arbitrary server-side Javascript in web applications?node.js 可以用作在 Web 应用程序中运行任意服务器端 Javascript 的框架吗?
【发布时间】:2011-01-11 08:45:41
【问题描述】:

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

【问题讨论】:

    标签: javascript node.js serverside-javascript


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢。我完全忽略了问题中最重要的部分!我打算将 node.js 用于任意 Web 应用程序。那可能吗?顺便说一句,您对命令行应用程序的回答也很有帮助。
    【解决方案2】:

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

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

    快递:

    高性能、高级网络 Node.js 开发

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

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

          $ 节点 some_script.js

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

          $节点

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-16
          • 1970-01-01
          • 2013-05-02
          • 1970-01-01
          • 2019-04-15
          • 1970-01-01
          相关资源
          最近更新 更多